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
- CodeExpressionRuleDeclaration.cs
- SourceLineInfo.cs
- LinqDataView.cs
- ICspAsymmetricAlgorithm.cs
- ListCollectionView.cs
- MemberRelationshipService.cs
- StandardBindingReliableSessionElement.cs
- FileEnumerator.cs
- PathParser.cs
- InstanceLockQueryResult.cs
- SpotLight.cs
- ActivityExecutionContextCollection.cs
- Span.cs
- Stack.cs
- RbTree.cs
- TypeSemantics.cs
- DataGridViewAdvancedBorderStyle.cs
- StorageRoot.cs
- BaseTemplateCodeDomTreeGenerator.cs
- Filter.cs
- ThemeDirectoryCompiler.cs
- SpeechUI.cs
- WindowsListViewItem.cs
- XMLSchema.cs
- TileBrush.cs
- CodeMemberMethod.cs
- ImageList.cs
- UriTemplateClientFormatter.cs
- InlineObject.cs
- MediaPlayerState.cs
- ProviderBase.cs
- TimelineCollection.cs
- ColorMatrix.cs
- SqlDataSourceFilteringEventArgs.cs
- OleDbFactory.cs
- EventSource.cs
- ExtensionSimplifierMarkupObject.cs
- ApplicationException.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- DataGridViewRowsRemovedEventArgs.cs
- DbExpressionBuilder.cs
- EnterpriseServicesHelper.cs
- AnnotationResourceCollection.cs
- HashJoinQueryOperatorEnumerator.cs
- DoubleLinkList.cs
- EditingMode.cs
- TreeViewDesigner.cs
- XmlChildNodes.cs
- LocatorManager.cs
- InstanceData.cs
- CatalogZoneBase.cs
- DigestComparer.cs
- StaticTextPointer.cs
- XmlHelper.cs
- Application.cs
- SaveFileDialog.cs
- XPathDocument.cs
- Object.cs
- SegmentInfo.cs
- HttpCachePolicyElement.cs
- PublisherMembershipCondition.cs
- BaseTemplateParser.cs
- DataGridTableStyleMappingNameEditor.cs
- HwndHostAutomationPeer.cs
- BinaryNode.cs
- WorkItem.cs
- BezierSegment.cs
- CacheVirtualItemsEvent.cs
- HtmlTable.cs
- SystemColors.cs
- TypeResolver.cs
- IPEndPointCollection.cs
- VisualBasicHelper.cs
- GeneratedContractType.cs
- NamedPipeProcessProtocolHandler.cs
- MediaElement.cs
- ApplicationInfo.cs
- VisualStateChangedEventArgs.cs
- Localizer.cs
- XamlStream.cs
- PageBuildProvider.cs
- HttpCacheParams.cs
- DataGridViewCellCancelEventArgs.cs
- DbFunctionCommandTree.cs
- StandardBindingCollectionElement.cs
- RawStylusInputCustomData.cs
- XamlToRtfParser.cs
- ClientUrlResolverWrapper.cs
- ViewPort3D.cs
- GlyphTypeface.cs
- FormViewInsertedEventArgs.cs
- IsolatedStorage.cs
- ContentOperations.cs
- ResourceManagerWrapper.cs
- NotCondition.cs
- EntityProviderFactory.cs
- DataBoundLiteralControl.cs
- GridViewEditEventArgs.cs
- WebContext.cs
- BezierSegment.cs