Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------- // 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
- MemberMaps.cs
- TransformerInfo.cs
- FormView.cs
- StylusButton.cs
- SqlConnectionPoolGroupProviderInfo.cs
- RelationshipManager.cs
- AccessViolationException.cs
- Menu.cs
- HebrewCalendar.cs
- RangeValidator.cs
- ClientFormsIdentity.cs
- DataControlReferenceCollection.cs
- _LocalDataStore.cs
- DataServiceConfiguration.cs
- CellPartitioner.cs
- InputEventArgs.cs
- StorageMappingFragment.cs
- WebServiceAttribute.cs
- SingleAnimation.cs
- BezierSegment.cs
- StrokeNode.cs
- SharedPerformanceCounter.cs
- SrgsRuleRef.cs
- OperatingSystem.cs
- SafeRegistryHandle.cs
- SymbolMethod.cs
- DataControlCommands.cs
- ObjectListTitleAttribute.cs
- XmlComplianceUtil.cs
- SR.cs
- ToolStripItemTextRenderEventArgs.cs
- ExceptionWrapper.cs
- ExecutionEngineException.cs
- DataGridViewCellPaintingEventArgs.cs
- VerificationAttribute.cs
- CapabilitiesUse.cs
- RemotingConfiguration.cs
- XmlTypeAttribute.cs
- InputScopeNameConverter.cs
- OleCmdHelper.cs
- AddInActivator.cs
- ControllableStoryboardAction.cs
- PhonemeConverter.cs
- WeakReferenceEnumerator.cs
- MenuEventArgs.cs
- ThemeDictionaryExtension.cs
- LinearKeyFrames.cs
- XmlSchemaSimpleTypeUnion.cs
- ObjectDataSourceEventArgs.cs
- MetadataElement.cs
- MetadataItemCollectionFactory.cs
- ExtendedPropertyCollection.cs
- Variant.cs
- DataGridViewDataConnection.cs
- LogLogRecord.cs
- SqlNodeAnnotation.cs
- WindowsNonControl.cs
- TrustSection.cs
- PassportAuthentication.cs
- SQLBinaryStorage.cs
- MethodRental.cs
- CommandID.cs
- LocalizationParserHooks.cs
- ActiveDocumentEvent.cs
- DateTimeConverter.cs
- ToolStripButton.cs
- DataControlFieldCollection.cs
- SamlAdvice.cs
- ScrollEvent.cs
- ToolStripLocationCancelEventArgs.cs
- MimeBasePart.cs
- CanonicalXml.cs
- DesignerCategoryAttribute.cs
- BinaryReader.cs
- Constants.cs
- TreeViewItemAutomationPeer.cs
- WebPartDescription.cs
- Stack.cs
- PipelineDeploymentState.cs
- ChtmlImageAdapter.cs
- EventPropertyMap.cs
- ConnectionPool.cs
- SafeBitVector32.cs
- MailSettingsSection.cs
- Line.cs
- BaseTreeIterator.cs
- MultiBinding.cs
- ScrollPattern.cs
- RequestCacheManager.cs
- BufferCache.cs
- mansign.cs
- LineMetrics.cs
- SslStream.cs
- DecimalConverter.cs
- XPathScanner.cs
- RangeContentEnumerator.cs
- UserControlFileEditor.cs
- ActivityCollectionMarkupSerializer.cs
- CheckBox.cs
- AttachedPropertyBrowsableForTypeAttribute.cs