Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Tracking / ActivityInfo.cs / 1305376 / ActivityInfo.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Tracking { using System; using System.Runtime.Serialization; using System.Runtime; using System.Globalization; [Fx.Tag.XamlVisible(false)] [DataContract] public sealed class ActivityInfo { string name; string id; string instanceId; string typeName; public ActivityInfo(string name, string id, string instanceId, string typeName) { if (string.IsNullOrEmpty(name)) { throw FxTrace.Exception.ArgumentNullOrEmpty("name"); } if (string.IsNullOrEmpty(id)) { throw FxTrace.Exception.ArgumentNullOrEmpty("id"); } if (string.IsNullOrEmpty(instanceId)) { throw FxTrace.Exception.ArgumentNullOrEmpty("instanceId"); } if (string.IsNullOrEmpty(typeName)) { throw FxTrace.Exception.ArgumentNullOrEmpty("typeName"); } this.Name = name; this.Id = id; this.InstanceId = instanceId; this.TypeName = typeName; } internal ActivityInfo(ActivityInstance instance) { this.Instance = instance; } internal ActivityInstance Instance { get; private set; } [DataMember] public string Name { get { if (string.IsNullOrEmpty(this.name)) { Fx.Assert(this.Instance != null, "Instance not set"); this.name = this.Instance.Activity.DisplayName; } return this.name; } private set { Fx.Assert(!string.IsNullOrEmpty(value), "Name cannot be null or empty"); this.name = value; } } [DataMember] public string Id { get { if (String.IsNullOrEmpty(this.id)) { Fx.Assert(this.Instance != null, "Instance not set"); this.id = this.Instance.Activity.Id; } return this.id; } private set { Fx.Assert(!string.IsNullOrEmpty(value), "Id cannot be null or empty"); this.id = value; } } [DataMember] public string InstanceId { get { if (string.IsNullOrEmpty(this.instanceId)) { Fx.Assert(this.Instance != null, "Instance not set"); this.instanceId = this.Instance.Id; } return this.instanceId; } private set { Fx.Assert(!string.IsNullOrEmpty(value), "InstanceId cannot be null or empty"); this.instanceId = value; } } [DataMember] public string TypeName { get { if (string.IsNullOrEmpty(this.typeName)) { Fx.Assert(this.Instance != null, "Instance not set"); this.typeName = this.Instance.Activity.GetType().FullName; } return this.typeName; } private set { Fx.Assert(!string.IsNullOrEmpty(value), "TypeName cannot be null or empty"); this.typeName = value; } } public override string ToString() { return string.Format(CultureInfo.CurrentCulture, "Name={0}, ActivityId = {1}, ActivityInstanceId = {2}, TypeName={3}", this.Name, this.Id, this.InstanceId, this.TypeName); } } } // 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
- CursorConverter.cs
- PagePropertiesChangingEventArgs.cs
- ClientTarget.cs
- HorizontalAlignConverter.cs
- InputScopeAttribute.cs
- DomNameTable.cs
- PolicyException.cs
- DataBindingHandlerAttribute.cs
- SchemaCollectionCompiler.cs
- CodeLabeledStatement.cs
- MdiWindowListItemConverter.cs
- SecurityTokenException.cs
- TextUtf8RawTextWriter.cs
- ButtonField.cs
- XmlImplementation.cs
- HebrewCalendar.cs
- OLEDB_Enum.cs
- SizeLimitedCache.cs
- PngBitmapEncoder.cs
- HttpCachePolicyElement.cs
- InputLanguage.cs
- PersonalizationProviderCollection.cs
- XmlAggregates.cs
- AuthenticodeSignatureInformation.cs
- JsonServiceDocumentSerializer.cs
- SystemIPAddressInformation.cs
- XmlBinaryReader.cs
- Container.cs
- MD5.cs
- BufferBuilder.cs
- CodeDomSerializationProvider.cs
- RadioButtonAutomationPeer.cs
- WebPartEventArgs.cs
- SqlMultiplexer.cs
- RotationValidation.cs
- DataControlField.cs
- WmpBitmapEncoder.cs
- ipaddressinformationcollection.cs
- HttpRawResponse.cs
- InvalidAsynchronousStateException.cs
- CacheManager.cs
- SecurityContextCookieSerializer.cs
- ToolStripItemRenderEventArgs.cs
- FlowLayoutSettings.cs
- CssStyleCollection.cs
- ColumnMapCopier.cs
- URI.cs
- SByteConverter.cs
- PeerToPeerException.cs
- MenuItemCollection.cs
- CachedTypeface.cs
- UICuesEvent.cs
- RoleManagerModule.cs
- XmlWellformedWriter.cs
- WebPartConnectionsConnectVerb.cs
- ToolStripPanelSelectionBehavior.cs
- TreeNodeBinding.cs
- BitmapEffectGeneralTransform.cs
- SqlUserDefinedTypeAttribute.cs
- NavigationExpr.cs
- ConfigXmlSignificantWhitespace.cs
- ButtonColumn.cs
- PointAnimationUsingKeyFrames.cs
- SafeRightsManagementSessionHandle.cs
- JpegBitmapEncoder.cs
- MonthCalendar.cs
- Interlocked.cs
- SettingsProperty.cs
- ContainerParaClient.cs
- Dynamic.cs
- BookmarkNameHelper.cs
- RootBrowserWindowAutomationPeer.cs
- XmlSchemaElement.cs
- SamlAuthorizationDecisionClaimResource.cs
- RewritingPass.cs
- LockCookie.cs
- FaultContractInfo.cs
- ServiceInstanceProvider.cs
- MailWebEventProvider.cs
- FileAccessException.cs
- IdentifierCollection.cs
- FileStream.cs
- HtmlShim.cs
- XmlSchemaObjectCollection.cs
- CryptoProvider.cs
- ToolStripSeparator.cs
- VirtualPathUtility.cs
- PolicyImporterElement.cs
- ScaleTransform.cs
- ConnectionManagementElementCollection.cs
- CharacterBufferReference.cs
- SamlDelegatingWriter.cs
- ExceptionHelpers.cs
- BrowserTree.cs
- ElementNotAvailableException.cs
- ComponentChangedEvent.cs
- PrimitiveXmlSerializers.cs
- OrderedParallelQuery.cs
- CalendarDateRangeChangingEventArgs.cs
- ValidatingPropertiesEventArgs.cs