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
- ObjectReferenceStack.cs
- FormatConvertedBitmap.cs
- DrawingContext.cs
- ArrayWithOffset.cs
- WebFormsRootDesigner.cs
- GridEntry.cs
- RowToParametersTransformer.cs
- PermissionAttributes.cs
- UpdatePanelTriggerCollection.cs
- ValueOfAction.cs
- MouseGesture.cs
- DateTimeOffset.cs
- BoolExpr.cs
- DataGridViewCellConverter.cs
- Publisher.cs
- TextEffectCollection.cs
- XPathDescendantIterator.cs
- LongValidatorAttribute.cs
- WebPartUtil.cs
- WorkflowView.cs
- UniqueEventHelper.cs
- listitem.cs
- XsltSettings.cs
- XPathNodeIterator.cs
- ProviderIncompatibleException.cs
- XmlSchemaException.cs
- CodeTypeMember.cs
- StatusBarItem.cs
- DashStyle.cs
- StyleHelper.cs
- ThicknessAnimationUsingKeyFrames.cs
- PreservationFileWriter.cs
- RadioButtonList.cs
- StoryFragments.cs
- SQlBooleanStorage.cs
- WorkflowHostingEndpoint.cs
- CompilerLocalReference.cs
- VirtualizingStackPanel.cs
- KeyGesture.cs
- ManipulationInertiaStartingEventArgs.cs
- DataGridViewColumnTypeEditor.cs
- DataGridViewRowPrePaintEventArgs.cs
- ExpressionDumper.cs
- NameValueConfigurationCollection.cs
- FieldNameLookup.cs
- ChangeBlockUndoRecord.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- TickBar.cs
- CurrentChangingEventArgs.cs
- QilUnary.cs
- FormViewModeEventArgs.cs
- XPathMultyIterator.cs
- WindowsListViewItem.cs
- ResourceDisplayNameAttribute.cs
- ComNativeDescriptor.cs
- _Rfc2616CacheValidators.cs
- CardSpaceShim.cs
- TextServicesPropertyRanges.cs
- WebExceptionStatus.cs
- Debugger.cs
- LineUtil.cs
- ModelPerspective.cs
- CodeTypeParameter.cs
- EnvironmentPermission.cs
- AutomationPattern.cs
- HttpConfigurationContext.cs
- SuppressMergeCheckAttribute.cs
- TypedDatasetGenerator.cs
- peernodeimplementation.cs
- WasNotInstalledException.cs
- PropertyChangeTracker.cs
- DataGridPagingPage.cs
- FormattedText.cs
- TabItemWrapperAutomationPeer.cs
- HealthMonitoringSection.cs
- SqlUDTStorage.cs
- DetailsViewDeleteEventArgs.cs
- DataGridTable.cs
- NameObjectCollectionBase.cs
- SchemaNotation.cs
- Size3D.cs
- ClickablePoint.cs
- DurableServiceAttribute.cs
- SqlDataSourceFilteringEventArgs.cs
- LocalizationComments.cs
- TextFormatterHost.cs
- ExtractCollection.cs
- CompilerTypeWithParams.cs
- ObjectCloneHelper.cs
- BlurEffect.cs
- AnimationClock.cs
- OrderedDictionary.cs
- InvokeBinder.cs
- TextEmbeddedObject.cs
- RestHandler.cs
- NestPullup.cs
- TemplateControlCodeDomTreeGenerator.cs
- LinkedResourceCollection.cs
- DataTableNewRowEvent.cs
- CLRBindingWorker.cs