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
- SocketCache.cs
- GcSettings.cs
- CompilerTypeWithParams.cs
- GPRECT.cs
- RunClient.cs
- XmlIncludeAttribute.cs
- WebBrowser.cs
- CompositionTarget.cs
- TaskDesigner.cs
- MethodExpression.cs
- XpsLiterals.cs
- HtmlFormAdapter.cs
- BrowserCapabilitiesFactoryBase.cs
- GatewayDefinition.cs
- XmlSchemaAttribute.cs
- Control.cs
- COM2ICategorizePropertiesHandler.cs
- WmfPlaceableFileHeader.cs
- XmlNamespaceMapping.cs
- TraceData.cs
- ClientFormsAuthenticationCredentials.cs
- FileClassifier.cs
- Imaging.cs
- TableDetailsCollection.cs
- ExpressionQuoter.cs
- CombinedGeometry.cs
- Blend.cs
- DocumentGridPage.cs
- StatusBarItemAutomationPeer.cs
- ArgumentException.cs
- XPathScanner.cs
- entityreference_tresulttype.cs
- HMACSHA1.cs
- StatusBarPanelClickEvent.cs
- SqlFileStream.cs
- SizeValueSerializer.cs
- DoubleUtil.cs
- ContentHostHelper.cs
- OperatingSystem.cs
- ListItemCollection.cs
- ISessionStateStore.cs
- CachedTypeface.cs
- XmlTypeMapping.cs
- DataGridViewTextBoxColumn.cs
- CFGGrammar.cs
- ClientUrlResolverWrapper.cs
- XmlSchemaChoice.cs
- ControlPropertyNameConverter.cs
- WorkflowWebService.cs
- SimpleTypesSurrogate.cs
- ComponentCodeDomSerializer.cs
- DesignerTransaction.cs
- PropertyInformation.cs
- VersionValidator.cs
- GPPOINT.cs
- ResXResourceWriter.cs
- SqlServer2KCompatibilityCheck.cs
- Utils.cs
- BamlMapTable.cs
- StylusShape.cs
- DPTypeDescriptorContext.cs
- AsyncOperationManager.cs
- DispatcherEventArgs.cs
- GeometryConverter.cs
- BitmapMetadata.cs
- ControlValuePropertyAttribute.cs
- HttpCachePolicy.cs
- DetailsViewInsertEventArgs.cs
- MultipartContentParser.cs
- PackageProperties.cs
- BoundPropertyEntry.cs
- EqualityComparer.cs
- XmlDataProvider.cs
- WebPartEditorCancelVerb.cs
- CutCopyPasteHelper.cs
- WorkflowDesigner.cs
- SessionStateSection.cs
- ArgumentOutOfRangeException.cs
- SingleAnimationUsingKeyFrames.cs
- DataGridCellsPanel.cs
- CodeTypeReferenceExpression.cs
- ExceptionHandler.cs
- XmlSchemaType.cs
- IteratorDescriptor.cs
- TreeViewCancelEvent.cs
- DummyDataSource.cs
- BrushMappingModeValidation.cs
- MappingMetadataHelper.cs
- NameSpaceExtractor.cs
- HtmlTableCell.cs
- NativeCppClassAttribute.cs
- CheckBoxField.cs
- ToolStripKeyboardHandlingService.cs
- TextTreeDeleteContentUndoUnit.cs
- FixedSOMTextRun.cs
- TypeBinaryExpression.cs
- BindingWorker.cs
- CustomTypeDescriptor.cs
- AlternationConverter.cs
- UniqueID.cs