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
- XdrBuilder.cs
- HtmlElementEventArgs.cs
- ResourceSet.cs
- TextRangeBase.cs
- Exceptions.cs
- Keywords.cs
- RegexInterpreter.cs
- ColumnReorderedEventArgs.cs
- SafeNativeMethods.cs
- ToolStripArrowRenderEventArgs.cs
- DateBoldEvent.cs
- MinimizableAttributeTypeConverter.cs
- xmlfixedPageInfo.cs
- CustomValidator.cs
- CheckBoxFlatAdapter.cs
- DateRangeEvent.cs
- HTTPNotFoundHandler.cs
- Expressions.cs
- NameTable.cs
- DependencyPropertyChangedEventArgs.cs
- FtpRequestCacheValidator.cs
- OutKeywords.cs
- NumberFunctions.cs
- SourceFileInfo.cs
- TabPanel.cs
- GlyphRun.cs
- MDIWindowDialog.cs
- StringToken.cs
- BamlRecordHelper.cs
- DATA_BLOB.cs
- Vector3DCollection.cs
- PackageDocument.cs
- AssemblyInfo.cs
- ScriptingProfileServiceSection.cs
- RegisteredArrayDeclaration.cs
- InfoCardSymmetricCrypto.cs
- _UriTypeConverter.cs
- WebRequestModuleElementCollection.cs
- ThreadAttributes.cs
- SymmetricSecurityProtocolFactory.cs
- Compiler.cs
- ComboBoxRenderer.cs
- Duration.cs
- WindowsBrush.cs
- RadioButtonRenderer.cs
- ArrayItemValue.cs
- SafeNativeMethods.cs
- SerTrace.cs
- UniqueIdentifierService.cs
- _HelperAsyncResults.cs
- NavigationWindowAutomationPeer.cs
- PEFileReader.cs
- BindingExpressionBase.cs
- CredentialCache.cs
- COM2TypeInfoProcessor.cs
- ResourceReferenceExpression.cs
- Profiler.cs
- VBCodeProvider.cs
- SamlSecurityToken.cs
- VirtualizedCellInfoCollection.cs
- XmlSchemaFacet.cs
- SqlProcedureAttribute.cs
- DecoderExceptionFallback.cs
- Int64Storage.cs
- DefaultEventAttribute.cs
- ScrollChrome.cs
- DrawingContext.cs
- DrawToolTipEventArgs.cs
- Encoder.cs
- DateTime.cs
- SharedUtils.cs
- FontUnit.cs
- MimePart.cs
- FormsAuthenticationUserCollection.cs
- MruCache.cs
- TemplateBuilder.cs
- EventLogConfiguration.cs
- ZipFileInfoCollection.cs
- XmlSchemaSimpleTypeUnion.cs
- GetReadStreamResult.cs
- SqlClientPermission.cs
- WebConfigurationHostFileChange.cs
- ManifestResourceInfo.cs
- TabControlEvent.cs
- EditorZoneBase.cs
- DrawItemEvent.cs
- CodeSpit.cs
- ValidatingReaderNodeData.cs
- DbDataSourceEnumerator.cs
- SoapWriter.cs
- VerticalConnector.xaml.cs
- DispatcherExceptionEventArgs.cs
- sqlnorm.cs
- ThemeInfoAttribute.cs
- Privilege.cs
- DoubleLinkList.cs
- TemplateControlBuildProvider.cs
- CodeTypeDelegate.cs
- SurrogateEncoder.cs
- ThicknessConverter.cs