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
- Substitution.cs
- DynamicPropertyHolder.cs
- ChannelServices.cs
- RenderContext.cs
- TraceLevelHelper.cs
- recordstatefactory.cs
- SelectionItemProviderWrapper.cs
- ServiceDocumentFormatter.cs
- _BaseOverlappedAsyncResult.cs
- IProvider.cs
- StylusButton.cs
- MessageCredentialType.cs
- XmlDictionaryWriter.cs
- ComponentTray.cs
- XmlSchemaAttribute.cs
- TrailingSpaceComparer.cs
- GeneralTransformGroup.cs
- ExpandCollapseProviderWrapper.cs
- CodeMemberField.cs
- IntellisenseTextBox.designer.cs
- ToolBarDesigner.cs
- Message.cs
- RightsManagementPermission.cs
- MetadataWorkspace.cs
- StackSpiller.cs
- Keyboard.cs
- ObjectDataSourceDisposingEventArgs.cs
- contentDescriptor.cs
- InfoCardSymmetricCrypto.cs
- CompilationPass2Task.cs
- HtmlInputImage.cs
- KeyboardNavigation.cs
- ZeroOpNode.cs
- FacetValues.cs
- XamlToRtfWriter.cs
- BinaryReader.cs
- ConnectionProviderAttribute.cs
- XmlILModule.cs
- ComplexObject.cs
- HandleCollector.cs
- CompilerCollection.cs
- RtfToXamlReader.cs
- SqlCachedBuffer.cs
- VirtualizingPanel.cs
- Inline.cs
- CollectionsUtil.cs
- MetadataResolver.cs
- EntityDataSourceChangedEventArgs.cs
- PenThread.cs
- MaxSessionCountExceededException.cs
- LinkArea.cs
- ArithmeticException.cs
- System.Data_BID.cs
- UriScheme.cs
- InputMethodStateTypeInfo.cs
- KeyedHashAlgorithm.cs
- StylusPlugin.cs
- AssemblyHash.cs
- DefaultBindingPropertyAttribute.cs
- LifetimeServices.cs
- SimpleType.cs
- SizeAnimationUsingKeyFrames.cs
- VerticalAlignConverter.cs
- ConfigurationLocationCollection.cs
- DebugView.cs
- Rule.cs
- HtmlMeta.cs
- NotifyParentPropertyAttribute.cs
- XamlTreeBuilder.cs
- ReadWriteObjectLock.cs
- OleDbConnectionInternal.cs
- ForwardPositionQuery.cs
- ContentControl.cs
- InteropEnvironment.cs
- ArraySortHelper.cs
- PropertyEntry.cs
- ChooseAction.cs
- FolderBrowserDialog.cs
- XmlValueConverter.cs
- CharEntityEncoderFallback.cs
- StorageSetMapping.cs
- MaskedTextBox.cs
- Int32Rect.cs
- RowToFieldTransformer.cs
- EmptyEnumerator.cs
- ErrorFormatterPage.cs
- _SpnDictionary.cs
- RoleManagerSection.cs
- RoutedEventValueSerializer.cs
- DataGridViewElement.cs
- ResourcesBuildProvider.cs
- MergeFilterQuery.cs
- FrameworkObject.cs
- SqlInternalConnectionTds.cs
- StdValidatorsAndConverters.cs
- PropertyGeneratedEventArgs.cs
- XamlPoint3DCollectionSerializer.cs
- PartialCachingControl.cs
- WhitespaceRuleReader.cs
- WorkflowControlClient.cs