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
- MessageSecurityOverHttpElement.cs
- ScrollChrome.cs
- ForEach.cs
- LicenseContext.cs
- BookmarkEventArgs.cs
- DrawingVisualDrawingContext.cs
- UrlMappingCollection.cs
- FlatButtonAppearance.cs
- PathGradientBrush.cs
- altserialization.cs
- HttpRequestCacheValidator.cs
- OracleParameterBinding.cs
- TdsValueSetter.cs
- ActionFrame.cs
- Pens.cs
- BaseUriHelper.cs
- GestureRecognizer.cs
- GlobalDataBindingHandler.cs
- NavigationProperty.cs
- xmlglyphRunInfo.cs
- DataServices.cs
- InputEventArgs.cs
- hwndwrapper.cs
- AssemblyGen.cs
- SQLByteStorage.cs
- GregorianCalendarHelper.cs
- Attributes.cs
- _NegoState.cs
- TextReader.cs
- SspiHelper.cs
- PropertyCondition.cs
- UpdateProgress.cs
- Security.cs
- HttpClientChannel.cs
- NotCondition.cs
- GlyphingCache.cs
- PlatformNotSupportedException.cs
- BookmarkScopeInfo.cs
- EntityDataSourceStatementEditorForm.cs
- ByteKeyFrameCollection.cs
- NativeMethods.cs
- MultiDataTrigger.cs
- Int32.cs
- DSACryptoServiceProvider.cs
- LayoutEngine.cs
- SafeSecurityHelper.cs
- TagElement.cs
- DataGridViewAutoSizeModeEventArgs.cs
- securitycriticaldataClass.cs
- EditorResources.cs
- odbcmetadatafactory.cs
- IDReferencePropertyAttribute.cs
- SamlEvidence.cs
- ActivityExecutionContext.cs
- IList.cs
- Crypto.cs
- ParentUndoUnit.cs
- CultureInfoConverter.cs
- SoapAttributeOverrides.cs
- DirtyTextRange.cs
- DesignerHost.cs
- Path.cs
- VBIdentifierTrimConverter.cs
- SecurityTokenContainer.cs
- RoleService.cs
- TableItemProviderWrapper.cs
- NavigationWindow.cs
- WebPartMovingEventArgs.cs
- MatchAttribute.cs
- XmlReader.cs
- NetSectionGroup.cs
- SimpleWorkerRequest.cs
- ReachPageContentSerializerAsync.cs
- ValueTypeFixupInfo.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ListItemCollection.cs
- WindowsListViewGroupHelper.cs
- CommentAction.cs
- ProfileBuildProvider.cs
- Utils.cs
- ScalarOps.cs
- AliasedExpr.cs
- TreeWalkHelper.cs
- ShapeTypeface.cs
- SHA384Cng.cs
- Operators.cs
- XmlSchemaComplexContent.cs
- ToolStripItem.cs
- CloseSequenceResponse.cs
- StylusPointProperty.cs
- ProcessingInstructionAction.cs
- DescendantOverDescendantQuery.cs
- IntSecurity.cs
- Expander.cs
- Simplifier.cs
- OpCodes.cs
- Timer.cs
- InternalConfirm.cs
- DialogResultConverter.cs
- AlphaSortedEnumConverter.cs