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
- SymbolTable.cs
- Console.cs
- DeferrableContent.cs
- EntityTypeBase.cs
- ToolbarAUtomationPeer.cs
- FlowLayout.cs
- FunctionImportMapping.cs
- RegexEditorDialog.cs
- AnnotationResourceChangedEventArgs.cs
- UnsafeNativeMethods.cs
- Attributes.cs
- XmlBoundElement.cs
- ReadOnlyNameValueCollection.cs
- SqlFactory.cs
- XmlSchemaValidationException.cs
- ToolStripControlHost.cs
- formatter.cs
- OleStrCAMarshaler.cs
- UnknownWrapper.cs
- WindowAutomationPeer.cs
- DoubleCollection.cs
- Material.cs
- BindingValueChangedEventArgs.cs
- QueuePathDialog.cs
- PagesChangedEventArgs.cs
- MembershipSection.cs
- ColumnResult.cs
- EventItfInfo.cs
- StringConverter.cs
- ProfileSettings.cs
- SystemDropShadowChrome.cs
- CachedFontFamily.cs
- CustomAttributeFormatException.cs
- MonthChangedEventArgs.cs
- GraphicsContext.cs
- Simplifier.cs
- Rectangle.cs
- BufferModeSettings.cs
- FragmentQueryKB.cs
- UrlPath.cs
- BlurEffect.cs
- DoubleUtil.cs
- MethodBody.cs
- DbConnectionPool.cs
- UnicastIPAddressInformationCollection.cs
- CommandBinding.cs
- CodePageEncoding.cs
- EventPrivateKey.cs
- UpdateProgress.cs
- DaylightTime.cs
- TrackingServices.cs
- TextDecoration.cs
- Misc.cs
- OdbcParameter.cs
- CommandID.cs
- Msec.cs
- FindSimilarActivitiesVerb.cs
- ErrorInfoXmlDocument.cs
- X509SecurityTokenAuthenticator.cs
- coordinatorfactory.cs
- PageParser.cs
- XmlSchemaComplexContent.cs
- ScriptRegistrationManager.cs
- GridPattern.cs
- ComboBoxItem.cs
- X509Certificate2.cs
- AjaxFrameworkAssemblyAttribute.cs
- ScopelessEnumAttribute.cs
- dbdatarecord.cs
- FileDataSourceCache.cs
- ClickablePoint.cs
- DBDataPermissionAttribute.cs
- FrameworkTextComposition.cs
- SqlInternalConnectionTds.cs
- InputQueueChannelAcceptor.cs
- XmlTextReaderImplHelpers.cs
- MutexSecurity.cs
- DocumentPageTextView.cs
- TimeSpanSecondsConverter.cs
- ExceptionUtil.cs
- ReaderContextStackData.cs
- EpmSyndicationContentDeSerializer.cs
- ViewBase.cs
- SupportedAddressingMode.cs
- SemaphoreFullException.cs
- SmtpNegotiateAuthenticationModule.cs
- TraceHandler.cs
- DataGridViewCellCancelEventArgs.cs
- PrimitiveCodeDomSerializer.cs
- ContextProperty.cs
- PkcsMisc.cs
- URLMembershipCondition.cs
- DataGridLinkButton.cs
- EnvelopedSignatureTransform.cs
- TextBoxView.cs
- _UriTypeConverter.cs
- XslException.cs
- Container.cs
- EventHandlersStore.cs
- DataGridViewMethods.cs