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;
IList members;
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
- XmlReflectionMember.cs
- PersistenceProviderFactory.cs
- DataGridViewLinkColumn.cs
- TextParaLineResult.cs
- RichTextBoxConstants.cs
- ReferenceEqualityComparer.cs
- WebPartConnectionsConfigureVerb.cs
- XPathExpr.cs
- GenericTypeParameterBuilder.cs
- PassportAuthenticationModule.cs
- HttpApplicationStateBase.cs
- FilteredAttributeCollection.cs
- TextSpanModifier.cs
- ObjectDataSourceSelectingEventArgs.cs
- WebDisplayNameAttribute.cs
- EmptyEnumerator.cs
- SQLDateTimeStorage.cs
- RightsManagementErrorHandler.cs
- _NegotiateClient.cs
- WmlLiteralTextAdapter.cs
- KnownTypeAttribute.cs
- MinMaxParagraphWidth.cs
- BackStopAuthenticationModule.cs
- XPathDocument.cs
- SQLInt16Storage.cs
- WebBaseEventKeyComparer.cs
- ResourceSetExpression.cs
- ExistsInCollection.cs
- Run.cs
- DataControlField.cs
- CursorInteropHelper.cs
- FigureParaClient.cs
- EmptyEnumerable.cs
- ConfigurationStrings.cs
- SecurityElement.cs
- URI.cs
- EffectiveValueEntry.cs
- HwndMouseInputProvider.cs
- FixedDocumentSequencePaginator.cs
- DBDataPermission.cs
- TextSimpleMarkerProperties.cs
- RegexRunner.cs
- ISAPIRuntime.cs
- VisualCollection.cs
- StringKeyFrameCollection.cs
- DefaultSerializationProviderAttribute.cs
- exports.cs
- LayoutInformation.cs
- RowCache.cs
- StorageAssociationSetMapping.cs
- CookieParameter.cs
- PropertyInformationCollection.cs
- ValidationPropertyAttribute.cs
- SqlBulkCopy.cs
- EncoderParameters.cs
- ErrorProvider.cs
- WebPartDescription.cs
- ItemMap.cs
- DataKey.cs
- SafeCancelMibChangeNotify.cs
- SweepDirectionValidation.cs
- Roles.cs
- SqlConnectionStringBuilder.cs
- GridViewUpdateEventArgs.cs
- TabItemAutomationPeer.cs
- ShaderEffect.cs
- MouseButton.cs
- TextRange.cs
- WpfKnownTypeInvoker.cs
- UInt32Storage.cs
- HandleInitializationContext.cs
- KeyedCollection.cs
- ServiceBehaviorElement.cs
- MonitorWrapper.cs
- WindowsIdentity.cs
- PointValueSerializer.cs
- KoreanLunisolarCalendar.cs
- PageThemeParser.cs
- MenuBindingsEditorForm.cs
- ReflectionTypeLoadException.cs
- ArraySegment.cs
- WebServiceTypeData.cs
- ProgressPage.cs
- DataContractJsonSerializer.cs
- JsonDataContract.cs
- Msec.cs
- DataSourceControl.cs
- SqlRecordBuffer.cs
- LocalFileSettingsProvider.cs
- PointValueSerializer.cs
- CounterCreationData.cs
- WebPartHelpVerb.cs
- BaseValidator.cs
- MultipleCopiesCollection.cs
- OperationContractAttribute.cs
- ValueUnavailableException.cs
- RawStylusInputCustomData.cs
- RelOps.cs
- StorageScalarPropertyMapping.cs
- WebDisplayNameAttribute.cs