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
- ImpersonationContext.cs
- InputScopeAttribute.cs
- RedirectionProxy.cs
- AdPostCacheSubstitution.cs
- DBNull.cs
- WSHttpBindingCollectionElement.cs
- DataGridCaption.cs
- ExceptionUtility.cs
- URLMembershipCondition.cs
- CustomCategoryAttribute.cs
- SafeRegistryKey.cs
- ImageIndexConverter.cs
- FormsAuthenticationConfiguration.cs
- DataPager.cs
- DbReferenceCollection.cs
- State.cs
- XmlSchemaComplexContentRestriction.cs
- RectAnimation.cs
- DispatcherFrame.cs
- InlineObject.cs
- DataGridViewTextBoxColumn.cs
- PropertyRecord.cs
- CharacterShapingProperties.cs
- Column.cs
- CompareInfo.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- TransportChannelListener.cs
- DictionaryBase.cs
- CodeIterationStatement.cs
- WebPartMenu.cs
- DependencyPropertyKind.cs
- ListView.cs
- TextRunProperties.cs
- GeneralTransform.cs
- SafeLibraryHandle.cs
- BuilderInfo.cs
- CriticalExceptions.cs
- TextEncodedRawTextWriter.cs
- DbConnectionInternal.cs
- StringUtil.cs
- ObjectQueryProvider.cs
- RuleInfoComparer.cs
- RowSpanVector.cs
- VBIdentifierNameEditor.cs
- EditorZoneBase.cs
- PrinterResolution.cs
- SourceFileBuildProvider.cs
- SerializationInfoEnumerator.cs
- ButtonFlatAdapter.cs
- DataServiceHostFactory.cs
- CultureInfo.cs
- SemanticKeyElement.cs
- AnnotationObservableCollection.cs
- DeflateStream.cs
- TextShapeableCharacters.cs
- SocketCache.cs
- assemblycache.cs
- IxmlLineInfo.cs
- ExecutedRoutedEventArgs.cs
- RectConverter.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- EditingScope.cs
- ProxyDataContractResolver.cs
- Size.cs
- Font.cs
- DataControlFieldCollection.cs
- _DisconnectOverlappedAsyncResult.cs
- ChildDocumentBlock.cs
- GACMembershipCondition.cs
- HttpRawResponse.cs
- LoginUtil.cs
- UpdateEventArgs.cs
- SafeUserTokenHandle.cs
- SocketStream.cs
- InputScopeAttribute.cs
- GorillaCodec.cs
- IntermediatePolicyValidator.cs
- ResourceReferenceExpression.cs
- DataControlCommands.cs
- BatchParser.cs
- TreeWalkHelper.cs
- TextStore.cs
- ExtendedProtectionPolicy.cs
- Rotation3D.cs
- X509CertificateInitiatorClientCredential.cs
- Message.cs
- StylusButtonEventArgs.cs
- RuntimeHelpers.cs
- NamespaceInfo.cs
- MessageBuffer.cs
- DiffuseMaterial.cs
- WrappingXamlSchemaContext.cs
- ConfigXmlElement.cs
- CheckBox.cs
- Listbox.cs
- BitmapEffectRenderDataResource.cs
- ShaperBuffers.cs
- DSASignatureFormatter.cs
- ZipIOLocalFileBlock.cs
- EntityClientCacheEntry.cs