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
- SecurityRuntime.cs
- ClientBuildManager.cs
- Expression.DebuggerProxy.cs
- CommandConverter.cs
- XmlSchemaSequence.cs
- ConfigurationSectionGroupCollection.cs
- InternalControlCollection.cs
- InvalidCommandTreeException.cs
- SchemaTableOptionalColumn.cs
- DataColumnMapping.cs
- CustomWebEventKey.cs
- Vector3DValueSerializer.cs
- TextDecorationUnitValidation.cs
- IntSecurity.cs
- NonSerializedAttribute.cs
- ReachFixedPageSerializer.cs
- Grant.cs
- ActionMessageFilter.cs
- TearOffProxy.cs
- ConnectionsZone.cs
- PhonemeEventArgs.cs
- WriteableOnDemandPackagePart.cs
- VectorValueSerializer.cs
- FtpWebRequest.cs
- UnmanagedMemoryStreamWrapper.cs
- XamlTemplateSerializer.cs
- ObjectDataSourceSelectingEventArgs.cs
- InkCanvasSelection.cs
- ViewgenContext.cs
- TypeSystem.cs
- TraceXPathNavigator.cs
- PriorityItem.cs
- BufferModeSettings.cs
- TextWriterTraceListener.cs
- GPPOINTF.cs
- FormViewInsertedEventArgs.cs
- VoiceInfo.cs
- MulticastDelegate.cs
- WorkflowMarkupElementEventArgs.cs
- DataSourceHelper.cs
- BitmapFrameDecode.cs
- XsltSettings.cs
- HttpWebRequest.cs
- WebPartConnectVerb.cs
- DocumentSchemaValidator.cs
- LineGeometry.cs
- ToolStripCollectionEditor.cs
- TableAdapterManagerNameHandler.cs
- DbParameterCollectionHelper.cs
- RoutingBehavior.cs
- ConfigurationManagerInternalFactory.cs
- ECDsaCng.cs
- DesignerCommandSet.cs
- VectorAnimationUsingKeyFrames.cs
- BitmapEffectDrawingContent.cs
- MoveSizeWinEventHandler.cs
- EntityDataSourceState.cs
- FontInfo.cs
- RectValueSerializer.cs
- FixUp.cs
- OdbcStatementHandle.cs
- HtmlProps.cs
- XmlCharCheckingWriter.cs
- BeginStoryboard.cs
- EntityDataSourceColumn.cs
- NavigatorInput.cs
- SqlDataRecord.cs
- HtmlFormParameterWriter.cs
- Polygon.cs
- SvcFileManager.cs
- BaseTemplateParser.cs
- ConvertersCollection.cs
- SafeNativeMethods.cs
- XPathNodeHelper.cs
- StrokeNodeEnumerator.cs
- CallbackTimeoutsBehavior.cs
- RowsCopiedEventArgs.cs
- SettingsPropertyNotFoundException.cs
- StrongNameMembershipCondition.cs
- PtsHelper.cs
- DesignTimeVisibleAttribute.cs
- BaseValidator.cs
- DataControlCommands.cs
- URLAttribute.cs
- WindowsMenu.cs
- XmlSerializerVersionAttribute.cs
- EventManager.cs
- SelectionWordBreaker.cs
- DropTarget.cs
- compensatingcollection.cs
- login.cs
- StatusBarItemAutomationPeer.cs
- HttpCachePolicyElement.cs
- Inflater.cs
- Roles.cs
- PageParser.cs
- XmlDeclaration.cs
- ButtonRenderer.cs
- ResponseStream.cs
- ParameterCollection.cs