Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / DurableInstancing / InstancePersistenceEvent.cs / 1305376 / InstancePersistenceEvent.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Runtime.DurableInstancing { using System.Threading; using System.Xml.Linq; public abstract class InstancePersistenceEvent : IEquatable{ internal InstancePersistenceEvent(XName name) { if (name == null) { throw Fx.Exception.ArgumentNull("name"); } Name = name; } public XName Name { get; private set; } public bool Equals(InstancePersistenceEvent persistenceEvent) { return !object.ReferenceEquals(persistenceEvent, null) && persistenceEvent.Name == Name; } public override bool Equals(object obj) { return Equals(obj as InstancePersistenceEvent); } public override int GetHashCode() { return Name.GetHashCode(); } public static bool operator ==(InstancePersistenceEvent left, InstancePersistenceEvent right) { if (object.ReferenceEquals(left, right)) { return true; } else if (object.ReferenceEquals(left, null)) { return false; } else { return left.Equals(right); } } public static bool operator !=(InstancePersistenceEvent left, InstancePersistenceEvent right) { return !(left == right); } } public abstract class InstancePersistenceEvent : InstancePersistenceEvent where T : InstancePersistenceEvent , new() { static T instance; protected InstancePersistenceEvent(XName name) : base(name) { } public static T Value { get { if (instance == null) { Interlocked.CompareExchange (ref instance, new T(), null); } return instance; } } } } // 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
- MetroSerializationManager.cs
- IDataContractSurrogate.cs
- IConvertible.cs
- RangeBase.cs
- QualificationDataItem.cs
- basenumberconverter.cs
- User.cs
- ToolboxItemFilterAttribute.cs
- DefaultProfileManager.cs
- ImageMapEventArgs.cs
- Roles.cs
- XmlProcessingInstruction.cs
- ExpandCollapsePattern.cs
- HttpRuntimeSection.cs
- UnauthorizedAccessException.cs
- MailAddress.cs
- LinearKeyFrames.cs
- ByteStream.cs
- Link.cs
- _UriSyntax.cs
- DecoderFallback.cs
- CapabilitiesPattern.cs
- SubclassTypeValidatorAttribute.cs
- TemplatePropertyEntry.cs
- XmlProcessingInstruction.cs
- BuildResultCache.cs
- X509CertificateClaimSet.cs
- TransactionState.cs
- DependencyObjectType.cs
- ProfileService.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- UrlMapping.cs
- SortDescriptionCollection.cs
- AsymmetricKeyExchangeFormatter.cs
- BamlReader.cs
- Win32KeyboardDevice.cs
- BindingManagerDataErrorEventArgs.cs
- UrlSyndicationContent.cs
- RecordBuilder.cs
- ValidatingReaderNodeData.cs
- PseudoWebRequest.cs
- Brush.cs
- Point3DIndependentAnimationStorage.cs
- RepeatBehaviorConverter.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- Tracking.cs
- CodeGenerator.cs
- RegistrySecurity.cs
- Switch.cs
- Blend.cs
- EventManager.cs
- HMACRIPEMD160.cs
- ConfigurationSettings.cs
- PersonalizationAdministration.cs
- ToolStripMenuItem.cs
- FunctionDescription.cs
- ButtonBase.cs
- ColorAnimationBase.cs
- XmlHelper.cs
- MemoryRecordBuffer.cs
- VectorCollectionValueSerializer.cs
- LogFlushAsyncResult.cs
- Int64.cs
- CodeNamespaceImportCollection.cs
- TypedRowHandler.cs
- FilePresentation.cs
- DataGridTextBox.cs
- DataControlPagerLinkButton.cs
- Trace.cs
- OpenTypeLayout.cs
- PersonalizationEntry.cs
- StylusButton.cs
- CodeDelegateCreateExpression.cs
- StructuralCache.cs
- cookiecontainer.cs
- LogManagementAsyncResult.cs
- DictionaryCustomTypeDescriptor.cs
- FunctionNode.cs
- DataGridRelationshipRow.cs
- StringFormat.cs
- Bits.cs
- ExpressionBuilderContext.cs
- ListView.cs
- RoutedPropertyChangedEventArgs.cs
- ListBox.cs
- SystemSounds.cs
- Ipv6Element.cs
- DependencyPropertyAttribute.cs
- DetailsViewRow.cs
- QilExpression.cs
- EntityTypeEmitter.cs
- ExecutionContext.cs
- SequentialOutput.cs
- UIElementAutomationPeer.cs
- SimplePropertyEntry.cs
- XpsFilter.cs
- SoapExtensionImporter.cs
- CodeTypeDeclarationCollection.cs
- RtType.cs
- KnownIds.cs