Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Tracking / TrackingRecord.cs / 1305376 / TrackingRecord.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Tracking { using System; using System.Runtime; using System.Runtime.Serialization; using System.Diagnostics; using System.Collections.Generic; using System.Globalization; [Fx.Tag.XamlVisible(false)] [DataContract] public abstract class TrackingRecord { [DataMember(EmitDefaultValue = false)] IDictionaryannotations; static ReadOnlyDictionary readonlyEmptyAnnotations; protected TrackingRecord(Guid instanceId) { this.InstanceId = instanceId; this.EventTime = DateTime.UtcNow; this.Level = TraceLevel.Info; } protected TrackingRecord(Guid instanceId, long recordNumber) : this(instanceId) { this.RecordNumber = recordNumber; } protected TrackingRecord(TrackingRecord record) { this.InstanceId = record.InstanceId; this.RecordNumber = record.RecordNumber; this.EventTime = record.EventTime; this.Level = record.Level; if (record.HasAnnotations) { this.annotations = new ReadOnlyDictionary (record.annotations); } } [DataMember] public Guid InstanceId { get; internal set; } [DataMember] public long RecordNumber { get; internal set; } [DataMember] public DateTime EventTime { get; private set; } [DataMember] public TraceLevel Level { get; protected set; } public IDictionary Annotations { get { if (this.annotations == null) { this.annotations = ReadOnlyEmptyAnnotations; } return this.annotations; } internal set { Fx.Assert(value.IsReadOnly, "only readonly dictionary can be set for annotations"); this.annotations = value; } } static ReadOnlyDictionary ReadOnlyEmptyAnnotations { get { if (readonlyEmptyAnnotations == null) { readonlyEmptyAnnotations = new ReadOnlyDictionary (new Dictionary (0)); } return readonlyEmptyAnnotations; } } internal bool HasAnnotations { get { return (this.annotations != null && this.annotations.Count > 0); } } protected abstract internal TrackingRecord Clone(); public override string ToString() { return string.Format(CultureInfo.CurrentCulture, "InstanceId = {0}, RecordNumber = {1}, EventTime = {2}", this.InstanceId, this.RecordNumber, this.EventTime); } } } // 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
- SkewTransform.cs
- PaintEvent.cs
- ItemList.cs
- SqlGenerator.cs
- DataGridLinkButton.cs
- Decoder.cs
- DataRowCollection.cs
- TaskFileService.cs
- VirtualizedCellInfoCollection.cs
- WebHttpSecurityElement.cs
- CatalogZoneBase.cs
- DictionaryEntry.cs
- ModifiableIteratorCollection.cs
- CacheRequest.cs
- ItemsControl.cs
- GatewayDefinition.cs
- LayoutTableCell.cs
- ReadWriteSpinLock.cs
- SimpleBitVector32.cs
- Imaging.cs
- ZoneButton.cs
- BooleanExpr.cs
- HtmlControlPersistable.cs
- EncoderFallback.cs
- ReferentialConstraint.cs
- PeerTransportListenAddressConverter.cs
- And.cs
- InputLangChangeRequestEvent.cs
- Stream.cs
- SqlBulkCopy.cs
- _SSPIWrapper.cs
- HtmlToClrEventProxy.cs
- HashHelper.cs
- RouteData.cs
- IPPacketInformation.cs
- ViewSimplifier.cs
- ListenerElementsCollection.cs
- UrlAuthorizationModule.cs
- IPAddressCollection.cs
- MetadataUtil.cs
- DocumentApplication.cs
- _Semaphore.cs
- EditorPartChrome.cs
- BuildProviderUtils.cs
- EventHandlersStore.cs
- FixUp.cs
- FlowDocumentReader.cs
- Track.cs
- ListItem.cs
- GlyphingCache.cs
- Comparer.cs
- ConnectionProviderAttribute.cs
- PeerEndPoint.cs
- TrackingMemoryStream.cs
- DataGridColumn.cs
- AnnotationComponentManager.cs
- AppSettingsExpressionBuilder.cs
- BrushValueSerializer.cs
- ReferenceSchema.cs
- LayoutEvent.cs
- NavigatorOutput.cs
- MasterPageCodeDomTreeGenerator.cs
- WebResourceUtil.cs
- FixedSOMContainer.cs
- PreservationFileReader.cs
- CodeStatement.cs
- ConfigurationValidatorAttribute.cs
- DiscoveryReference.cs
- PriorityRange.cs
- COM2ExtendedUITypeEditor.cs
- Geometry3D.cs
- CollectionConverter.cs
- LinearKeyFrames.cs
- MenuTracker.cs
- AppDomainFactory.cs
- SMSvcHost.cs
- DataGridViewEditingControlShowingEventArgs.cs
- TimeIntervalCollection.cs
- Timer.cs
- TableStyle.cs
- SimpleApplicationHost.cs
- ChannelOptions.cs
- Configuration.cs
- _ListenerRequestStream.cs
- Security.cs
- SettingsAttributes.cs
- UpdatableWrapper.cs
- StringBuilder.cs
- MessageSecurityProtocolFactory.cs
- HTTPNotFoundHandler.cs
- CodePageEncoding.cs
- SettingsContext.cs
- UserControlBuildProvider.cs
- LayoutManager.cs
- RegexWorker.cs
- CatalogPart.cs
- StylusPointCollection.cs
- TraceLog.cs
- PeerResolver.cs
- OutputCacheProfileCollection.cs