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
- LoginDesignerUtil.cs
- StorageEndPropertyMapping.cs
- DropDownButton.cs
- BamlRecords.cs
- AbandonedMutexException.cs
- StringBuilder.cs
- HtmlCommandAdapter.cs
- VarRemapper.cs
- EncoderFallback.cs
- SecurityException.cs
- DtcInterfaces.cs
- SimplePropertyEntry.cs
- MethodCallExpression.cs
- WaitHandle.cs
- PropagatorResult.cs
- EllipseGeometry.cs
- SmiGettersStream.cs
- AdornerPresentationContext.cs
- BaseHashHelper.cs
- ConfigXmlElement.cs
- CloudCollection.cs
- XD.cs
- SelectingProviderEventArgs.cs
- BooleanStorage.cs
- NameScope.cs
- ValueExpressions.cs
- DelegateSerializationHolder.cs
- UnmanagedHandle.cs
- Delegate.cs
- ContextProperty.cs
- DataColumnMapping.cs
- XmlSchemas.cs
- TraceHandlerErrorFormatter.cs
- CodeMemberMethod.cs
- DoubleLinkList.cs
- SqlTransaction.cs
- ApplicationManager.cs
- DependencyPropertyValueSerializer.cs
- DataGridGeneralPage.cs
- OdbcConnectionPoolProviderInfo.cs
- XmlDictionaryReaderQuotas.cs
- AssemblyNameProxy.cs
- MetafileHeaderEmf.cs
- UIElement.cs
- RunInstallerAttribute.cs
- AlgoModule.cs
- DataServiceQueryException.cs
- DataGridViewCell.cs
- TraversalRequest.cs
- DesignerActionPanel.cs
- SmiContext.cs
- FamilyTypeface.cs
- Rect3D.cs
- HandlerBase.cs
- RolePrincipal.cs
- FileStream.cs
- DataGridViewLayoutData.cs
- ToolStripItemRenderEventArgs.cs
- DataGridViewCellStyle.cs
- HeaderedContentControl.cs
- ContainerUtilities.cs
- TextInfo.cs
- SecurityUtils.cs
- ModelItemDictionary.cs
- DocumentOrderQuery.cs
- CharEntityEncoderFallback.cs
- HGlobalSafeHandle.cs
- BaseResourcesBuildProvider.cs
- PropertyGridView.cs
- TreeNodeStyle.cs
- EqualityComparer.cs
- DataControlFieldCell.cs
- DataGridViewRowStateChangedEventArgs.cs
- SafeLibraryHandle.cs
- HttpInputStream.cs
- ListControlConvertEventArgs.cs
- CalendarDay.cs
- LassoHelper.cs
- XmlSerializationReader.cs
- DataGridViewCellStyle.cs
- ListViewPagedDataSource.cs
- WebPartDeleteVerb.cs
- MetadataExporter.cs
- GridItem.cs
- DBPropSet.cs
- PhysicalAddress.cs
- XPathItem.cs
- AuthStoreRoleProvider.cs
- ContainerVisual.cs
- DependencySource.cs
- BuildProvider.cs
- TaskFormBase.cs
- TransactionsSectionGroup.cs
- HtmlControl.cs
- TPLETWProvider.cs
- AxisAngleRotation3D.cs
- ManipulationCompletedEventArgs.cs
- EncoderReplacementFallback.cs
- PasswordTextNavigator.cs
- SettingsPropertyValue.cs