Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / IdSpace.cs / 1305376 / IdSpace.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { using System; using System.Collections.Generic; using System.Runtime; class IdSpace { int lastId; IListmembers; public IdSpace() { } public IdSpace(IdSpace parent, int parentId) { this.Parent = parent; this.ParentId = parentId; } public IdSpace Parent { get; private set; } public int ParentId { get; private set; } public int MemberCount { get { if (this.members == null) { return 0; } else { return this.members.Count; } } } public Activity Owner { get { if (this.Parent != null) { return this.Parent[this.ParentId]; } return null; } } public Activity this[int id] { get { int lookupId = id - 1; if (this.members == null || lookupId < 0 || lookupId >= this.members.Count) { return null; } else { return this.members[lookupId]; } } } public void AddMember(Activity element) { if (this.members == null) { this.members = new List (); } if (lastId == int.MaxValue) { throw FxTrace.Exception.AsError(new NotSupportedException(SR.OutOfIdSpaceIds)); } lastId++; // ID info is cleared inside InternalId. element.InternalId = lastId; Fx.Assert(element.MemberOf == this, "We should have already set this."); Fx.Assert(this.members.Count == element.InternalId - 1, "We should always be adding the next element"); this.members.Add(element); } public void Dispose() { if (this.members != null) { this.members.Clear(); } this.lastId = 0; this.Parent = null; this.ParentId = 0; } } } // 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
- BitmapEffectDrawingContent.cs
- Pen.cs
- BaseParagraph.cs
- BindingContext.cs
- ClientTargetCollection.cs
- MulticastOption.cs
- PointCollectionValueSerializer.cs
- CollectionCodeDomSerializer.cs
- XmlIncludeAttribute.cs
- SrgsGrammar.cs
- DocumentPropertiesDialog.cs
- DBAsyncResult.cs
- ObservableCollection.cs
- BCryptNative.cs
- BookmarkNameHelper.cs
- TypeDescriptorFilterService.cs
- Drawing.cs
- FilterQuery.cs
- RequestDescription.cs
- XNameTypeConverter.cs
- AnimationClock.cs
- EventLogConfiguration.cs
- ToolboxItemCollection.cs
- HtmlImage.cs
- FileVersionInfo.cs
- DesignerPerfEventProvider.cs
- Site.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- NamedPipeConnectionPoolSettingsElement.cs
- RawStylusInput.cs
- SoapHelper.cs
- ManifestSignatureInformation.cs
- ColumnPropertiesGroup.cs
- WebPartDisplayModeCancelEventArgs.cs
- StyleTypedPropertyAttribute.cs
- TraceAsyncResult.cs
- DesignerAutoFormatCollection.cs
- XmlNullResolver.cs
- RichTextBoxAutomationPeer.cs
- DataGridViewCellParsingEventArgs.cs
- BitmapEffectInputData.cs
- AttributeEmitter.cs
- TimeSpanConverter.cs
- ResourceCategoryAttribute.cs
- ExtendedPropertyCollection.cs
- Misc.cs
- ScriptHandlerFactory.cs
- _SafeNetHandles.cs
- RegexGroup.cs
- ListViewCommandEventArgs.cs
- SecurityState.cs
- ArgumentOutOfRangeException.cs
- AsnEncodedData.cs
- OutputCacheSection.cs
- SqlCacheDependencyDatabase.cs
- Menu.cs
- TextElementAutomationPeer.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- OleDbCommandBuilder.cs
- ResourcesBuildProvider.cs
- UInt16Storage.cs
- TransformPatternIdentifiers.cs
- ObjRef.cs
- AssertSection.cs
- XmlComplianceUtil.cs
- DesignBindingEditor.cs
- DataObjectEventArgs.cs
- ScrollBar.cs
- AsyncOperation.cs
- DataGridLength.cs
- WebDescriptionAttribute.cs
- ReachPageContentSerializer.cs
- OutputScopeManager.cs
- ErrorWebPart.cs
- AutomationPattern.cs
- Pointer.cs
- LayoutEditorPart.cs
- RefType.cs
- ManifestResourceInfo.cs
- ObjectDataSourceView.cs
- VersionPair.cs
- SqlTypeSystemProvider.cs
- CounterSampleCalculator.cs
- Converter.cs
- Equal.cs
- EmbeddedMailObject.cs
- FixedSOMElement.cs
- _CacheStreams.cs
- BindingElement.cs
- WsatAdminException.cs
- KeyBinding.cs
- HttpInputStream.cs
- VirtualDirectoryMapping.cs
- MessageSmuggler.cs
- HwndAppCommandInputProvider.cs
- TextBoxAutomationPeer.cs
- ValueCollectionParameterReader.cs
- figurelength.cs
- XmlDocumentSchema.cs
- TextLineBreak.cs