Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / DurableInstancing / InstanceKey.cs / 1305376 / InstanceKey.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Runtime.DurableInstancing { using System.Collections.Generic; using System.Xml.Linq; [Fx.Tag.XamlVisible(false)] public class InstanceKey { static IDictionaryemptyMetadata = new ReadOnlyDictionary (new Dictionary (0)); static InstanceKey invalidKey = new InstanceKey(); readonly bool invalid; // Comparisons to Guid.Empty are too slow. InstanceKey() { this.Value = Guid.Empty; this.invalid = true; } public InstanceKey(Guid value) : this(value, null) { } public InstanceKey(Guid value, IDictionary metadata) { if (value == Guid.Empty) { throw Fx.Exception.Argument("value", SRCore.InstanceKeyRequiresValidGuid); } this.Value = value; if (metadata != null) { this.Metadata = ReadOnlyDictionary .Create(metadata); } else { this.Metadata = emptyMetadata; } } public bool IsValid { get { return !this.invalid; } } public Guid Value { get; private set; } public IDictionary Metadata { get; private set; } public static InstanceKey InvalidKey { get { return InstanceKey.invalidKey; } } public override bool Equals(object obj) { return this.Value.Equals(((InstanceKey)obj).Value); } public override int GetHashCode() { return this.Value.GetHashCode(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Runtime.DurableInstancing { using System.Collections.Generic; using System.Xml.Linq; [Fx.Tag.XamlVisible(false)] public class InstanceKey { static IDictionary emptyMetadata = new ReadOnlyDictionary (new Dictionary (0)); static InstanceKey invalidKey = new InstanceKey(); readonly bool invalid; // Comparisons to Guid.Empty are too slow. InstanceKey() { this.Value = Guid.Empty; this.invalid = true; } public InstanceKey(Guid value) : this(value, null) { } public InstanceKey(Guid value, IDictionary metadata) { if (value == Guid.Empty) { throw Fx.Exception.Argument("value", SRCore.InstanceKeyRequiresValidGuid); } this.Value = value; if (metadata != null) { this.Metadata = ReadOnlyDictionary .Create(metadata); } else { this.Metadata = emptyMetadata; } } public bool IsValid { get { return !this.invalid; } } public Guid Value { get; private set; } public IDictionary Metadata { get; private set; } public static InstanceKey InvalidKey { get { return InstanceKey.invalidKey; } } public override bool Equals(object obj) { return this.Value.Equals(((InstanceKey)obj).Value); } public override int GetHashCode() { return this.Value.GetHashCode(); } } } // 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
- OleDbParameterCollection.cs
- PrintingPermissionAttribute.cs
- CodeDomSerializerException.cs
- ListItemCollection.cs
- RichTextBoxAutomationPeer.cs
- InternalDispatchObject.cs
- HybridObjectCache.cs
- GestureRecognitionResult.cs
- WebPartsPersonalization.cs
- DEREncoding.cs
- DatePicker.cs
- SqlCacheDependencyDatabaseCollection.cs
- MenuItem.cs
- SplitContainer.cs
- RuntimeConfig.cs
- TagMapCollection.cs
- AspNetSynchronizationContext.cs
- PeerChannelListener.cs
- XmlILTrace.cs
- UITypeEditor.cs
- CursorInteropHelper.cs
- RTLAwareMessageBox.cs
- SecurityResources.cs
- ComplexBindingPropertiesAttribute.cs
- securitycriticaldataClass.cs
- StringConcat.cs
- OptimizerPatterns.cs
- BindingValueChangedEventArgs.cs
- RightsManagementEncryptionTransform.cs
- ConfigurationSection.cs
- IconBitmapDecoder.cs
- X509Certificate.cs
- ToolboxItemAttribute.cs
- StringInfo.cs
- UnknownWrapper.cs
- OutOfProcStateClientManager.cs
- ComponentRenameEvent.cs
- XsltLibrary.cs
- TypeProvider.cs
- XmlCustomFormatter.cs
- FileRecordSequence.cs
- AdRotator.cs
- FontWeightConverter.cs
- SelfSignedCertificate.cs
- RSAPKCS1KeyExchangeFormatter.cs
- HintTextMaxWidthConverter.cs
- ListViewGroupItemCollection.cs
- EnvironmentPermission.cs
- WebPartEditorApplyVerb.cs
- RuntimeIdentifierPropertyAttribute.cs
- TableLayoutSettings.cs
- UrlAuthFailedErrorFormatter.cs
- CancellationToken.cs
- Pipe.cs
- MarkupObject.cs
- BulletDecorator.cs
- CollectionBuilder.cs
- ConsumerConnectionPoint.cs
- SqlSelectStatement.cs
- EdmFunction.cs
- MutexSecurity.cs
- ExpressionBuilderContext.cs
- TraceShell.cs
- BaseComponentEditor.cs
- ArgumentException.cs
- _ListenerAsyncResult.cs
- MultipleViewPattern.cs
- SweepDirectionValidation.cs
- EntityDataSourceDesignerHelper.cs
- DesignDataSource.cs
- ComponentDispatcherThread.cs
- connectionpool.cs
- CompositeControlDesigner.cs
- BookmarkEventArgs.cs
- RectAnimationClockResource.cs
- ImageCollectionCodeDomSerializer.cs
- DateTimeOffsetConverter.cs
- PerformanceCounterManager.cs
- EntityParameter.cs
- DeobfuscatingStream.cs
- XmlBinaryReaderSession.cs
- FlowDocumentReaderAutomationPeer.cs
- PropertyTab.cs
- Signature.cs
- ObjectDataSourceStatusEventArgs.cs
- ExpressionBinding.cs
- GeneratedContractType.cs
- ReliabilityContractAttribute.cs
- MostlySingletonList.cs
- IsolatedStorageFilePermission.cs
- SapiRecoInterop.cs
- StringInfo.cs
- XmlSchemaFacet.cs
- ComponentEditorPage.cs
- TextAutomationPeer.cs
- ConnectionPoint.cs
- SpeechSeg.cs
- PersonalizableAttribute.cs
- CatalogPart.cs
- ContextDataSourceView.cs