Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / ArrayItemReference.cs / 1305376 / ArrayItemReference.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Expressions { using System.Activities.Statements; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Runtime.Serialization; public sealed class ArrayItemReference: CodeActivity > { public ArrayItemReference() : base() { } [RequiredArgument] [DefaultValue(null)] public InArgument Array { get; set; } [RequiredArgument] [DefaultValue(null)] public InArgument Index { get; set; } protected override void CacheMetadata(CodeActivityMetadata metadata) { RuntimeArgument arrayArgument = new RuntimeArgument("Array", typeof(TItem[]), ArgumentDirection.In, true); metadata.Bind(this.Array, arrayArgument); RuntimeArgument indexArgument = new RuntimeArgument("Index", typeof(int), ArgumentDirection.In, true); metadata.Bind(this.Index, indexArgument); RuntimeArgument resultArgument = new RuntimeArgument("Result", typeof(Location ), ArgumentDirection.Out); metadata.Bind(this.Result, resultArgument); metadata.SetArgumentsCollection( new Collection { arrayArgument, indexArgument, resultArgument }); } protected override Location Execute(CodeActivityContext context) { TItem[] items = this.Array.Get(context); if (items == null) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.MemberCannotBeNull("Array", this.GetType().Name, this.DisplayName))); } int itemIndex = this.Index.Get(context); return new ArrayLocation(items, itemIndex); } [DataContract] class ArrayLocation : Location { [DataMember] TItem[] array; [DataMember(EmitDefaultValue = false)] int index; public ArrayLocation(TItem[] array, int index) : base() { this.array = array; this.index = index; } public override TItem Value { get { return this.array[this.index]; } set { this.array[this.index] = value; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BuildResultCache.cs
- SchemaImporterExtensionElement.cs
- ParsedAttributeCollection.cs
- ApplicationBuildProvider.cs
- AvTraceFormat.cs
- TokenizerHelper.cs
- AmbientValueAttribute.cs
- ActivityIdHeader.cs
- SignatureSummaryDialog.cs
- EntityViewContainer.cs
- DesignTimeSiteMapProvider.cs
- ToolStrip.cs
- WCFServiceClientProxyGenerator.cs
- TableLayoutColumnStyleCollection.cs
- AccessDataSourceView.cs
- BrowserDefinition.cs
- ResourceExpression.cs
- Group.cs
- MiniParameterInfo.cs
- ProfileManager.cs
- SerialErrors.cs
- WpfXamlLoader.cs
- TemplateControlParser.cs
- HelpProvider.cs
- DrawingServices.cs
- NativeMethods.cs
- sitestring.cs
- DataBinder.cs
- WindowsAuthenticationEventArgs.cs
- IdleTimeoutMonitor.cs
- PtsCache.cs
- SoapIncludeAttribute.cs
- DebugManager.cs
- CellIdBoolean.cs
- EventLogConfiguration.cs
- ConfigsHelper.cs
- QueryCursorEventArgs.cs
- DynamicExpression.cs
- DataMisalignedException.cs
- ResolveNameEventArgs.cs
- DriveNotFoundException.cs
- _NestedMultipleAsyncResult.cs
- UIElementCollection.cs
- HttpConfigurationSystem.cs
- PublishLicense.cs
- webeventbuffer.cs
- WeakReferenceKey.cs
- KeyFrames.cs
- EndPoint.cs
- filewebresponse.cs
- ConfigurationValidatorAttribute.cs
- AttachInfo.cs
- ProcessInfo.cs
- UserControl.cs
- ParameterReplacerVisitor.cs
- EntityContainer.cs
- SecUtil.cs
- ArraySegment.cs
- RuntimeVariablesExpression.cs
- DESCryptoServiceProvider.cs
- sqlpipe.cs
- NullableLongMinMaxAggregationOperator.cs
- TabPanel.cs
- Rotation3DAnimationBase.cs
- RegistryPermission.cs
- TemplateBindingExpression.cs
- HtmlElementEventArgs.cs
- StateMachineWorkflow.cs
- Triplet.cs
- StreamingContext.cs
- OleDbReferenceCollection.cs
- RetrieveVirtualItemEventArgs.cs
- XmlJsonReader.cs
- HttpServerProtocol.cs
- sapiproxy.cs
- HyperLink.cs
- DependencyPropertyChangedEventArgs.cs
- SelectionWordBreaker.cs
- EntryPointNotFoundException.cs
- PartialTrustVisibleAssemblyCollection.cs
- ReadWriteSpinLock.cs
- SqlDataRecord.cs
- PrinterSettings.cs
- ServiceDescriptionSerializer.cs
- DesignTimeVisibleAttribute.cs
- XPathParser.cs
- MsmqIntegrationInputMessage.cs
- OracleParameterBinding.cs
- SmiRecordBuffer.cs
- EntityProviderServices.cs
- versioninfo.cs
- WriteLineDesigner.xaml.cs
- SecUtil.cs
- FirstMatchCodeGroup.cs
- MailDefinition.cs
- Repeater.cs
- SQLDateTimeStorage.cs
- Underline.cs
- AssociationSetEnd.cs
- BitmapImage.cs