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
- SignedXml.cs
- CompositeFontInfo.cs
- WsatServiceAddress.cs
- XPathNode.cs
- IgnorePropertiesAttribute.cs
- ConstrainedGroup.cs
- SponsorHelper.cs
- ContainerUIElement3D.cs
- FontSizeConverter.cs
- TraceInternal.cs
- OleDbParameter.cs
- ServiceBusyException.cs
- TimerEventSubscriptionCollection.cs
- VariableDesigner.xaml.cs
- StatusBar.cs
- StructuralObject.cs
- AutomationTextAttribute.cs
- MergeLocalizationDirectives.cs
- ServiceModelSectionGroup.cs
- UIElement.cs
- XamlSerializerUtil.cs
- HttpResponseWrapper.cs
- WebScriptMetadataMessageEncoderFactory.cs
- SqlXml.cs
- HashHelper.cs
- WebPartCatalogCloseVerb.cs
- ReferenceEqualityComparer.cs
- AppSettingsReader.cs
- AutoGeneratedField.cs
- OpenCollectionAsyncResult.cs
- ApplicationServicesHostFactory.cs
- _ListenerRequestStream.cs
- GridViewDeletedEventArgs.cs
- ExtendedPropertyCollection.cs
- FontFamilyValueSerializer.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- OdbcConnectionHandle.cs
- ChooseAction.cs
- HtmlInputText.cs
- EditorBrowsableAttribute.cs
- TextBox.cs
- Int32Storage.cs
- CodeVariableReferenceExpression.cs
- MetadataItem.cs
- InvalidAsynchronousStateException.cs
- StandardToolWindows.cs
- PictureBox.cs
- InstanceDescriptor.cs
- SessionStateUtil.cs
- UnsafeNativeMethodsCLR.cs
- MessageQueuePermissionAttribute.cs
- OperationCanceledException.cs
- SecUtil.cs
- InternalPermissions.cs
- Size3DValueSerializer.cs
- TextContainer.cs
- NetworkInformationPermission.cs
- ObjectDataSource.cs
- MessageQueueKey.cs
- DataGridViewElement.cs
- VirtualPathProvider.cs
- HuffCodec.cs
- SecurityNegotiationException.cs
- DiffuseMaterial.cs
- ProtocolsConfigurationHandler.cs
- MenuStrip.cs
- UpdateTracker.cs
- sortedlist.cs
- HtmlInputCheckBox.cs
- sqlser.cs
- VoiceInfo.cs
- _SslStream.cs
- ObjectPersistData.cs
- XPathScanner.cs
- XmlSerializationGeneratedCode.cs
- StructuredProperty.cs
- ByteConverter.cs
- DataMemberConverter.cs
- HtmlInputRadioButton.cs
- ObjectViewFactory.cs
- ChannelSinkStacks.cs
- OSFeature.cs
- XmlSerializerAssemblyAttribute.cs
- CodeLinePragma.cs
- _ConnectionGroup.cs
- CodeSubDirectoriesCollection.cs
- _StreamFramer.cs
- DashStyle.cs
- Point3DKeyFrameCollection.cs
- TextElement.cs
- TextElementEditingBehaviorAttribute.cs
- DataGrid.cs
- ThreadSafeList.cs
- DecimalAnimation.cs
- ResourceReferenceKeyNotFoundException.cs
- OdbcParameter.cs
- RequestBringIntoViewEventArgs.cs
- OdbcFactory.cs
- BevelBitmapEffect.cs
- XmlSchemaSet.cs