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
- ClientSettingsProvider.cs
- PropertyPathWorker.cs
- WebResourceAttribute.cs
- HandleRef.cs
- StringUtil.cs
- ViewStateException.cs
- TextRunProperties.cs
- sqlmetadatafactory.cs
- AutomationPattern.cs
- SingleTagSectionHandler.cs
- QuaternionValueSerializer.cs
- BitmapData.cs
- RequestResizeEvent.cs
- ToolStripInSituService.cs
- StrokeSerializer.cs
- DataServiceExpressionVisitor.cs
- GB18030Encoding.cs
- EmbeddedMailObjectsCollection.cs
- CommandLibraryHelper.cs
- SecurityCriticalDataForSet.cs
- ValidationEventArgs.cs
- XamlReader.cs
- MLangCodePageEncoding.cs
- BitmapDownload.cs
- CryptographicAttribute.cs
- DrawTreeNodeEventArgs.cs
- Semaphore.cs
- SatelliteContractVersionAttribute.cs
- SHA1CryptoServiceProvider.cs
- StorageFunctionMapping.cs
- DataGridViewTopLeftHeaderCell.cs
- GroupDescription.cs
- FormatPage.cs
- LifetimeServices.cs
- X509ImageLogo.cs
- ProfileSettings.cs
- ProvidePropertyAttribute.cs
- WebPartChrome.cs
- FlagsAttribute.cs
- StrokeCollection.cs
- ValidationError.cs
- SqlFormatter.cs
- BasePattern.cs
- DataColumn.cs
- Number.cs
- RuleSettings.cs
- CollectionViewProxy.cs
- TreeNodeEventArgs.cs
- BrowserCapabilitiesFactoryBase.cs
- LongTypeConverter.cs
- SqlClientFactory.cs
- OleDbError.cs
- DataGridViewCellCollection.cs
- AsymmetricCryptoHandle.cs
- Monitor.cs
- ComponentResourceKeyConverter.cs
- TextServicesCompartment.cs
- DateTimeValueSerializer.cs
- TemplateControl.cs
- WebPartEditorApplyVerb.cs
- XmlSchemaChoice.cs
- QuestionEventArgs.cs
- GenericsInstances.cs
- EventSetter.cs
- UrlAuthFailedErrorFormatter.cs
- StrokeIntersection.cs
- DataServiceStreamProviderWrapper.cs
- Grid.cs
- RelationHandler.cs
- ProxyWebPartConnectionCollection.cs
- MsmqTransportSecurity.cs
- EventProxy.cs
- String.cs
- SerializationInfoEnumerator.cs
- UserControlCodeDomTreeGenerator.cs
- ZipIORawDataFileBlock.cs
- BrowserCapabilitiesCodeGenerator.cs
- UnmanagedMemoryStream.cs
- TextSpan.cs
- Menu.cs
- URLString.cs
- UnsafeNativeMethods.cs
- SmtpTransport.cs
- FactoryMaker.cs
- XmlSchemaElement.cs
- PackWebResponse.cs
- EditorPartCollection.cs
- ExpressionBinding.cs
- Rules.cs
- DetailsViewUpdatedEventArgs.cs
- LoginCancelEventArgs.cs
- MailBnfHelper.cs
- StrokeSerializer.cs
- TextBlock.cs
- DirectionalLight.cs
- DeflateEmulationStream.cs
- EnvelopedPkcs7.cs
- Drawing.cs
- PublishLicense.cs
- WebPartMovingEventArgs.cs