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
- CharacterBuffer.cs
- PathGeometry.cs
- QuaternionAnimation.cs
- DataGridViewCellStyle.cs
- DBAsyncResult.cs
- FlowLayoutSettings.cs
- PageClientProxyGenerator.cs
- Base64Decoder.cs
- WindowsScroll.cs
- WindowsPen.cs
- OLEDB_Util.cs
- serverconfig.cs
- UniformGrid.cs
- DrawingBrush.cs
- PolicyStatement.cs
- MailWebEventProvider.cs
- NGCSerializationManagerAsync.cs
- CodeGen.cs
- BuildProviderCollection.cs
- IfAction.cs
- XmlDataSourceView.cs
- RichTextBoxConstants.cs
- CategoryNameCollection.cs
- FamilyMapCollection.cs
- TaskFactory.cs
- complextypematerializer.cs
- _NtlmClient.cs
- SQLStringStorage.cs
- XPathMultyIterator.cs
- SessionState.cs
- odbcmetadatacollectionnames.cs
- DocumentAutomationPeer.cs
- Rss20FeedFormatter.cs
- Pens.cs
- Tool.cs
- CancellationToken.cs
- SqlAggregateChecker.cs
- CurrentTimeZone.cs
- StrongName.cs
- DataGridViewEditingControlShowingEventArgs.cs
- FontWeights.cs
- PreviewPrintController.cs
- PostBackOptions.cs
- TextServicesDisplayAttribute.cs
- XmlSerializerAssemblyAttribute.cs
- ColorConverter.cs
- NamedElement.cs
- FrameworkContentElement.cs
- XamlWriter.cs
- NetworkInformationException.cs
- DbBuffer.cs
- MediaContext.cs
- ParameterInfo.cs
- MulticastOption.cs
- CodeTypeReferenceCollection.cs
- ProtocolsConfigurationEntry.cs
- HttpWebRequest.cs
- DefaultPrintController.cs
- DateRangeEvent.cs
- ReaderWriterLockSlim.cs
- BaseAsyncResult.cs
- StructuralCache.cs
- SemanticValue.cs
- ThaiBuddhistCalendar.cs
- Predicate.cs
- Int64AnimationUsingKeyFrames.cs
- COSERVERINFO.cs
- _ProxyRegBlob.cs
- EnvelopedPkcs7.cs
- VBCodeProvider.cs
- SplitterPanel.cs
- ForceCopyBuildProvider.cs
- Part.cs
- IdlingCommunicationPool.cs
- SHA384Cng.cs
- MappedMetaModel.cs
- GenerateHelper.cs
- HMACSHA1.cs
- LookupTables.cs
- CallContext.cs
- QilXmlReader.cs
- EventLogEntry.cs
- TraceEventCache.cs
- ListViewUpdatedEventArgs.cs
- StatusBarItemAutomationPeer.cs
- RuntimeResourceSet.cs
- PropertyDescriptor.cs
- XamlBuildTaskServices.cs
- DragStartedEventArgs.cs
- CompositeFontFamily.cs
- GeometryHitTestResult.cs
- Single.cs
- MachineKey.cs
- SapiRecognizer.cs
- TextBlockAutomationPeer.cs
- MobileErrorInfo.cs
- DataRelationCollection.cs
- SelectionItemPattern.cs
- SamlSubjectStatement.cs
- DataFormats.cs