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
- Trigger.cs
- DatagridviewDisplayedBandsData.cs
- Brush.cs
- CodeNamespace.cs
- XmlSchemaElement.cs
- Context.cs
- SecureStringHasher.cs
- DataGridViewLinkCell.cs
- FilterEventArgs.cs
- TreeViewItemAutomationPeer.cs
- ParagraphResult.cs
- PseudoWebRequest.cs
- WorkflowDebuggerSteppingAttribute.cs
- ButtonFlatAdapter.cs
- ResourceExpression.cs
- TabControlCancelEvent.cs
- SpnegoTokenAuthenticator.cs
- IPAddress.cs
- FocusTracker.cs
- DBCSCodePageEncoding.cs
- MdiWindowListItemConverter.cs
- SmiRequestExecutor.cs
- CodeObject.cs
- _SslSessionsCache.cs
- ITextView.cs
- WebPartEditVerb.cs
- SqlDataSourceCache.cs
- ProxyHelper.cs
- XmlSchemaSearchPattern.cs
- KeyboardDevice.cs
- Util.cs
- BitVector32.cs
- ListControlDataBindingHandler.cs
- DataBindingExpressionBuilder.cs
- NotFiniteNumberException.cs
- SmtpCommands.cs
- WebControlParameterProxy.cs
- InputLanguageSource.cs
- IIS7WorkerRequest.cs
- TargetParameterCountException.cs
- XmlArrayAttribute.cs
- ObjectQueryProvider.cs
- DesignerTransactionCloseEvent.cs
- RegularExpressionValidator.cs
- ReadOnlyCollection.cs
- DetailsViewRowCollection.cs
- NetworkCredential.cs
- SiteMapNodeCollection.cs
- DeclarativeCatalogPart.cs
- Privilege.cs
- SystemNetHelpers.cs
- Rss20ItemFormatter.cs
- BinaryConverter.cs
- DesignerAdapterAttribute.cs
- TableLayoutSettings.cs
- ToolStripMenuItem.cs
- SynchronousReceiveBehavior.cs
- PreservationFileWriter.cs
- ApplicationHost.cs
- MouseButtonEventArgs.cs
- MsmqVerifier.cs
- PackagePartCollection.cs
- RenderingBiasValidation.cs
- StackSpiller.cs
- ConsumerConnectionPoint.cs
- DataTableReader.cs
- WorkflowPrinting.cs
- CacheChildrenQuery.cs
- TranslateTransform.cs
- IndicFontClient.cs
- ControlTemplate.cs
- WindowsIPAddress.cs
- RuntimeIdentifierPropertyAttribute.cs
- StylusSystemGestureEventArgs.cs
- ForAllOperator.cs
- BinaryUtilClasses.cs
- RelatedEnd.cs
- DateTimeFormat.cs
- Size3D.cs
- SessionEndingEventArgs.cs
- DependencyObject.cs
- Rights.cs
- RsaElement.cs
- CanonicalFontFamilyReference.cs
- SmiRecordBuffer.cs
- HtmlInputCheckBox.cs
- FileUtil.cs
- ListViewGroupItemCollection.cs
- XmlSchemaObject.cs
- WebPartAddingEventArgs.cs
- TypeResolver.cs
- AspProxy.cs
- ConnectivityStatus.cs
- MetadataArtifactLoaderFile.cs
- BoundColumn.cs
- PageAdapter.cs
- DataGridViewRowCollection.cs
- DataGridItemEventArgs.cs
- SettingsSection.cs
- EnumerableCollectionView.cs