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
- BitmapEffectInputConnector.cs
- CultureSpecificStringDictionary.cs
- ListBox.cs
- XmlSchemas.cs
- relpropertyhelper.cs
- CaseStatement.cs
- ServiceNotStartedException.cs
- DocumentGridPage.cs
- BitmapInitialize.cs
- RSAPKCS1SignatureFormatter.cs
- InheritanceUI.cs
- ConsoleCancelEventArgs.cs
- util.cs
- XmlNavigatorFilter.cs
- DrawItemEvent.cs
- DesignRelationCollection.cs
- MultiPageTextView.cs
- FileSystemEventArgs.cs
- DbProviderFactoriesConfigurationHandler.cs
- Helper.cs
- TrustLevelCollection.cs
- XmlSequenceWriter.cs
- sqlinternaltransaction.cs
- WebServiceBindingAttribute.cs
- Rijndael.cs
- HtmlWindowCollection.cs
- EntityClientCacheEntry.cs
- X509ChainElement.cs
- ExpanderAutomationPeer.cs
- AuthenticationServiceManager.cs
- ContextMenuStrip.cs
- Soap.cs
- DataControlFieldCell.cs
- HTTPNotFoundHandler.cs
- SoapElementAttribute.cs
- IndexedGlyphRun.cs
- DateTimeOffsetStorage.cs
- CachedFontFace.cs
- RayHitTestParameters.cs
- TextStore.cs
- DataTemplateKey.cs
- ThreadExceptionEvent.cs
- TextBreakpoint.cs
- CircleHotSpot.cs
- Vector3DAnimationBase.cs
- Expressions.cs
- XmlBinaryReader.cs
- HtmlTable.cs
- BamlRecordReader.cs
- Encoder.cs
- RuntimeConfig.cs
- CacheAxisQuery.cs
- TextServicesContext.cs
- QueryCreatedEventArgs.cs
- _UncName.cs
- RtfToXamlReader.cs
- CodeAttributeArgument.cs
- CheckBox.cs
- GridViewCommandEventArgs.cs
- Scene3D.cs
- DocumentGrid.cs
- UInt32Storage.cs
- Effect.cs
- PrintControllerWithStatusDialog.cs
- DataGridViewUtilities.cs
- TextEndOfLine.cs
- StringHandle.cs
- DataServiceBehavior.cs
- NavigationPropertyEmitter.cs
- ButtonBaseDesigner.cs
- DataGridHeaderBorder.cs
- ListViewDataItem.cs
- ProcessHostFactoryHelper.cs
- Renderer.cs
- CookieParameter.cs
- TextSchema.cs
- xml.cs
- DefaultDiscoveryServiceExtension.cs
- SolidBrush.cs
- DelegatedStream.cs
- WebPartDisplayModeCollection.cs
- VectorKeyFrameCollection.cs
- HeaderedItemsControl.cs
- ContainerControl.cs
- InitializationEventAttribute.cs
- StickyNoteContentControl.cs
- PersonalizableTypeEntry.cs
- ServiceMemoryGates.cs
- MD5CryptoServiceProvider.cs
- FileDialog_Vista_Interop.cs
- XmlSchemaObjectCollection.cs
- FtpWebRequest.cs
- RouteParser.cs
- SqlNodeTypeOperators.cs
- ContentValidator.cs
- InternalException.cs
- XomlCompilerHelpers.cs
- SafeViewOfFileHandle.cs
- regiisutil.cs
- PolyQuadraticBezierSegmentFigureLogic.cs