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
- InstalledVoice.cs
- PropertyRecord.cs
- SelectionRange.cs
- RC2CryptoServiceProvider.cs
- VisualTreeUtils.cs
- PageHandlerFactory.cs
- DBCommandBuilder.cs
- RSAPKCS1SignatureFormatter.cs
- X509Chain.cs
- BooleanKeyFrameCollection.cs
- BulletedList.cs
- ExpressionHelper.cs
- UnionExpr.cs
- _UriSyntax.cs
- XmlSchemaSequence.cs
- WaitHandleCannotBeOpenedException.cs
- UrlAuthFailedErrorFormatter.cs
- DeclaredTypeValidatorAttribute.cs
- SetIterators.cs
- SqlTypesSchemaImporter.cs
- ThreadBehavior.cs
- GradientStopCollection.cs
- SharedStatics.cs
- CancellationTokenRegistration.cs
- RequestBringIntoViewEventArgs.cs
- NativeMethods.cs
- XmlSchemaInferenceException.cs
- XDeferredAxisSource.cs
- DesignerCommandAdapter.cs
- TargetPerspective.cs
- WebProxyScriptElement.cs
- ConstructorExpr.cs
- VolatileEnlistmentMultiplexing.cs
- EditorResources.cs
- SqlUtils.cs
- DataGridToolTip.cs
- OrderByBuilder.cs
- CardSpaceException.cs
- NetNamedPipeSecurityMode.cs
- X509ChainPolicy.cs
- DataGridTextBoxColumn.cs
- PrivilegedConfigurationManager.cs
- AssemblyBuilderData.cs
- ColumnMapCopier.cs
- FilterFactory.cs
- COM2EnumConverter.cs
- CodeGotoStatement.cs
- TypeSchema.cs
- CompressEmulationStream.cs
- DictionaryChange.cs
- ProfilePropertySettings.cs
- SystemTcpStatistics.cs
- StatusBar.cs
- log.cs
- RegexCode.cs
- ObjectMemberMapping.cs
- FontConverter.cs
- GifBitmapDecoder.cs
- CssStyleCollection.cs
- SelectionListComponentEditor.cs
- SourceLineInfo.cs
- UserInitiatedRoutedEventPermission.cs
- Int16Storage.cs
- QueryConverter.cs
- Automation.cs
- PriorityBinding.cs
- MetadataImporterQuotas.cs
- StrongTypingException.cs
- UriScheme.cs
- followingquery.cs
- VisualCollection.cs
- AccessedThroughPropertyAttribute.cs
- wgx_render.cs
- SoapHelper.cs
- SiteMap.cs
- XmlLanguageConverter.cs
- _StreamFramer.cs
- PrintPreviewGraphics.cs
- InternalControlCollection.cs
- ConditionBrowserDialog.cs
- Comparer.cs
- XmlArrayItemAttributes.cs
- DecimalKeyFrameCollection.cs
- ScriptServiceAttribute.cs
- CompilerInfo.cs
- Pair.cs
- ManipulationLogic.cs
- regiisutil.cs
- IPipelineRuntime.cs
- ExpressionValueEditor.cs
- SocketPermission.cs
- XmlSerializableWriter.cs
- GeometryModel3D.cs
- LocatorBase.cs
- SchemaInfo.cs
- GrammarBuilderPhrase.cs
- arabicshape.cs
- PositiveTimeSpanValidator.cs
- clipboard.cs
- LookupBindingPropertiesAttribute.cs