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
- GACMembershipCondition.cs
- WebContext.cs
- TickBar.cs
- Gdiplus.cs
- CompilationUtil.cs
- BitmapEffectDrawingContent.cs
- InputLanguageSource.cs
- SocketAddress.cs
- TextComposition.cs
- ImageList.cs
- UrlPropertyAttribute.cs
- GlyphManager.cs
- SecuritySessionFilter.cs
- WebBrowserNavigatingEventHandler.cs
- UseAttributeSetsAction.cs
- BufferedStream2.cs
- ProfileGroupSettingsCollection.cs
- CaseInsensitiveOrdinalStringComparer.cs
- TextServicesCompartment.cs
- TabRenderer.cs
- SQLGuidStorage.cs
- BindingGroup.cs
- TextRangeEditTables.cs
- ProfilePropertyMetadata.cs
- CheckBoxField.cs
- JapaneseCalendar.cs
- BaseValidator.cs
- GeometryHitTestParameters.cs
- BaseTemplateCodeDomTreeGenerator.cs
- DynamicDataManager.cs
- TrustLevelCollection.cs
- InterleavedZipPartStream.cs
- ObjectItemCollection.cs
- FirstMatchCodeGroup.cs
- HebrewCalendar.cs
- InlinedLocationReference.cs
- CompilerResults.cs
- DependencyPropertyKey.cs
- CommandEventArgs.cs
- ProviderUtil.cs
- PerfCounters.cs
- RenderingEventArgs.cs
- XPathNavigatorKeyComparer.cs
- WebBrowser.cs
- categoryentry.cs
- AssociationProvider.cs
- XamlToRtfParser.cs
- Currency.cs
- TranslateTransform3D.cs
- ActiveXHelper.cs
- DBCSCodePageEncoding.cs
- LinearKeyFrames.cs
- DiagnosticSection.cs
- WsdlParser.cs
- SupportsEventValidationAttribute.cs
- ResXResourceSet.cs
- Substitution.cs
- ThousandthOfEmRealDoubles.cs
- TextViewSelectionProcessor.cs
- BaseAsyncResult.cs
- TriggerAction.cs
- DateTimeFormatInfo.cs
- PriorityItem.cs
- Constraint.cs
- StdValidatorsAndConverters.cs
- RequestResizeEvent.cs
- DbConnectionStringCommon.cs
- Rfc4050KeyFormatter.cs
- NavigateEvent.cs
- ComponentSerializationService.cs
- TextContainer.cs
- CodeMemberMethod.cs
- UIElementAutomationPeer.cs
- AnimationClock.cs
- Model3DGroup.cs
- HtmlGenericControl.cs
- DSACryptoServiceProvider.cs
- ToolStripPanelCell.cs
- WindowsBrush.cs
- KnownTypes.cs
- XmlMtomReader.cs
- ConfigurationManagerHelperFactory.cs
- PointAnimationUsingPath.cs
- StagingAreaInputItem.cs
- WebPartChrome.cs
- ActivityBuilder.cs
- ValueExpressions.cs
- TrustDriver.cs
- Control.cs
- SqlDataSourceStatusEventArgs.cs
- CachingHintValidation.cs
- XmlTextReaderImpl.cs
- Timeline.cs
- embossbitmapeffect.cs
- LineBreak.cs
- EdmSchemaAttribute.cs
- AssemblyCache.cs
- InvalidAsynchronousStateException.cs
- KeyNotFoundException.cs
- QueryContinueDragEvent.cs