Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / DurableInstancing / InstanceKeyView.cs / 1305376 / InstanceKeyView.cs
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------
namespace System.Runtime.DurableInstancing
{
using System;
using System.Collections.Generic;
using System.Runtime;
using System.Xml.Linq;
[Fx.Tag.XamlVisible(false)]
public sealed class InstanceKeyView
{
static readonly ReadOnlyDictionary emptyProperties = new ReadOnlyDictionary(new Dictionary(0), false);
IDictionary metadata;
Dictionary accumulatedMetadataWrites;
internal InstanceKeyView(Guid key)
{
InstanceKey = key;
InstanceKeyMetadataConsistency = InstanceValueConsistency.InDoubt | InstanceValueConsistency.Partial;
}
InstanceKeyView(InstanceKeyView source)
{
InstanceKey = source.InstanceKey;
InstanceKeyState = source.InstanceKeyState;
InstanceKeyMetadata = source.InstanceKeyMetadata;
InstanceKeyMetadataConsistency = source.InstanceKeyMetadataConsistency;
}
public Guid InstanceKey { get; private set; }
public InstanceKeyState InstanceKeyState { get; internal set; }
public InstanceValueConsistency InstanceKeyMetadataConsistency { get; internal set; }
public IDictionary InstanceKeyMetadata
{
get
{
IDictionary pendingWrites = this.accumulatedMetadataWrites;
this.accumulatedMetadataWrites = null;
this.metadata = pendingWrites.ReadOnlyMergeInto(this.metadata ?? InstanceKeyView.emptyProperties, true);
return this.metadata;
}
internal set
{
this.accumulatedMetadataWrites = null;
this.metadata = value;
}
}
internal Dictionary AccumulatedMetadataWrites
{
get
{
if (this.accumulatedMetadataWrites == null)
{
this.accumulatedMetadataWrites = new Dictionary();
}
return this.accumulatedMetadataWrites;
}
}
internal InstanceKeyView Clone()
{
return new InstanceKeyView(this);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------
namespace System.Runtime.DurableInstancing
{
using System;
using System.Collections.Generic;
using System.Runtime;
using System.Xml.Linq;
[Fx.Tag.XamlVisible(false)]
public sealed class InstanceKeyView
{
static readonly ReadOnlyDictionary emptyProperties = new ReadOnlyDictionary(new Dictionary(0), false);
IDictionary metadata;
Dictionary accumulatedMetadataWrites;
internal InstanceKeyView(Guid key)
{
InstanceKey = key;
InstanceKeyMetadataConsistency = InstanceValueConsistency.InDoubt | InstanceValueConsistency.Partial;
}
InstanceKeyView(InstanceKeyView source)
{
InstanceKey = source.InstanceKey;
InstanceKeyState = source.InstanceKeyState;
InstanceKeyMetadata = source.InstanceKeyMetadata;
InstanceKeyMetadataConsistency = source.InstanceKeyMetadataConsistency;
}
public Guid InstanceKey { get; private set; }
public InstanceKeyState InstanceKeyState { get; internal set; }
public InstanceValueConsistency InstanceKeyMetadataConsistency { get; internal set; }
public IDictionary InstanceKeyMetadata
{
get
{
IDictionary pendingWrites = this.accumulatedMetadataWrites;
this.accumulatedMetadataWrites = null;
this.metadata = pendingWrites.ReadOnlyMergeInto(this.metadata ?? InstanceKeyView.emptyProperties, true);
return this.metadata;
}
internal set
{
this.accumulatedMetadataWrites = null;
this.metadata = value;
}
}
internal Dictionary AccumulatedMetadataWrites
{
get
{
if (this.accumulatedMetadataWrites == null)
{
this.accumulatedMetadataWrites = new Dictionary();
}
return this.accumulatedMetadataWrites;
}
}
internal InstanceKeyView Clone()
{
return new InstanceKeyView(this);
}
}
}
// 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
- ResourceCodeDomSerializer.cs
- TransportManager.cs
- VisualBrush.cs
- CacheSection.cs
- ObjectListTitleAttribute.cs
- TextContainerChangeEventArgs.cs
- WrappedIUnknown.cs
- RequestTimeoutManager.cs
- RoleService.cs
- JsonGlobals.cs
- Dynamic.cs
- DefaultWorkflowSchedulerService.cs
- IsolationInterop.cs
- ColumnProvider.cs
- SafeNativeMethods.cs
- XmlWrappingReader.cs
- GetWinFXPath.cs
- MenuItemStyle.cs
- nulltextnavigator.cs
- ComboBox.cs
- RootBrowserWindowProxy.cs
- FixedNode.cs
- RequestValidator.cs
- SplineKeyFrames.cs
- ApplicationFileCodeDomTreeGenerator.cs
- _DomainName.cs
- StringValidatorAttribute.cs
- DetailsViewPageEventArgs.cs
- XmlSchemaCollection.cs
- PersonalizationProviderHelper.cs
- ClientSettingsSection.cs
- ToolBarPanel.cs
- CommandHelper.cs
- NamespaceDecl.cs
- Win32PrintDialog.cs
- XmlLoader.cs
- TextRange.cs
- GridViewRowCollection.cs
- Rect3DValueSerializer.cs
- SafeBitVector32.cs
- XhtmlBasicTextBoxAdapter.cs
- BroadcastEventHelper.cs
- AttributeTableBuilder.cs
- PasswordBoxAutomationPeer.cs
- ServicePoint.cs
- ToolStrip.cs
- RuleSettingsCollection.cs
- ArrayTypeMismatchException.cs
- SoapSchemaImporter.cs
- Int32Animation.cs
- ProtocolViolationException.cs
- Errors.cs
- SqlErrorCollection.cs
- MessageSmuggler.cs
- RuleInfoComparer.cs
- UrlMappingsSection.cs
- XmlSchemaSimpleTypeRestriction.cs
- OSFeature.cs
- PropertyCollection.cs
- TransformerInfo.cs
- DataObject.cs
- LocatorManager.cs
- DecimalAnimationUsingKeyFrames.cs
- AttachedPropertyBrowsableAttribute.cs
- WindowsAuthenticationModule.cs
- NativeMethods.cs
- QueryExpression.cs
- RedirectionProxy.cs
- DataRecordInternal.cs
- TypeBrowserDialog.cs
- SoapDocumentMethodAttribute.cs
- WindowAutomationPeer.cs
- StringComparer.cs
- ParseNumbers.cs
- ArrayWithOffset.cs
- DTCTransactionManager.cs
- DataContext.cs
- TreeViewItem.cs
- FileController.cs
- HashAlgorithm.cs
- PreloadHost.cs
- OLEDB_Util.cs
- Connection.cs
- NativeMethods.cs
- PrePostDescendentsWalker.cs
- StylusTip.cs
- StylusShape.cs
- AsymmetricKeyExchangeFormatter.cs
- FormatVersion.cs
- ConstructorExpr.cs
- UrlMappingsModule.cs
- RNGCryptoServiceProvider.cs
- DetailsViewPagerRow.cs
- LightweightEntityWrapper.cs
- QueryOutputWriter.cs
- MutexSecurity.cs
- RtfToken.cs
- ValidationSummary.cs
- ReaderWriterLockWrapper.cs
- ResourcePool.cs