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
- KeyTime.cs
- PathGeometry.cs
- XmlWhitespace.cs
- MetadataException.cs
- LiteralControl.cs
- safelinkcollection.cs
- HierarchicalDataBoundControlAdapter.cs
- SettingsPropertyValueCollection.cs
- ChannelSinkStacks.cs
- HtmlEmptyTagControlBuilder.cs
- HitTestWithPointDrawingContextWalker.cs
- ShapingWorkspace.cs
- SymmetricSecurityBindingElement.cs
- InputProcessorProfiles.cs
- CodeRemoveEventStatement.cs
- PlainXmlDeserializer.cs
- WebPartExportVerb.cs
- XPathNodeInfoAtom.cs
- ValidatorCompatibilityHelper.cs
- IntSecurity.cs
- DetailsViewUpdateEventArgs.cs
- SiteMapNode.cs
- Effect.cs
- MissingFieldException.cs
- GeneralTransformGroup.cs
- CardSpaceException.cs
- FunctionGenerator.cs
- ListComponentEditorPage.cs
- ListCollectionView.cs
- TransformValueSerializer.cs
- TimerTable.cs
- Action.cs
- NumberFunctions.cs
- DataRow.cs
- SiteMapProvider.cs
- TextFormatter.cs
- SapiRecoInterop.cs
- SkinBuilder.cs
- StoragePropertyMapping.cs
- GridView.cs
- XmlArrayItemAttributes.cs
- DnsEndPoint.cs
- NamedObject.cs
- CodeAttributeArgumentCollection.cs
- XPathDocumentIterator.cs
- CodeDirectoryCompiler.cs
- CredentialCache.cs
- WeakRefEnumerator.cs
- AuthorizationPolicyTypeElementCollection.cs
- FlowLayoutPanel.cs
- CSharpCodeProvider.cs
- _SslState.cs
- VisualTreeHelper.cs
- OdbcConnectionFactory.cs
- CaseStatement.cs
- Calendar.cs
- CategoriesDocument.cs
- ProviderConnectionPoint.cs
- SqlCacheDependencyDatabaseCollection.cs
- AppDomainFactory.cs
- LineServicesRun.cs
- ResourceReader.cs
- TextFragmentEngine.cs
- XmlUrlEditor.cs
- DataGridViewLinkColumn.cs
- AsyncCompletedEventArgs.cs
- XsltLoader.cs
- Attributes.cs
- NavigationService.cs
- UserUseLicenseDictionaryLoader.cs
- xsdvalidator.cs
- TextParaClient.cs
- StatusBarPanel.cs
- Metafile.cs
- Drawing.cs
- XmlBaseWriter.cs
- DataGridViewCellCancelEventArgs.cs
- CompositeDataBoundControl.cs
- SimpleHandlerFactory.cs
- InkPresenterAutomationPeer.cs
- RightsManagementPermission.cs
- ResourceSet.cs
- KeyToListMap.cs
- TypeDescriptionProviderAttribute.cs
- MediaCommands.cs
- BamlTreeMap.cs
- ImplicitInputBrush.cs
- PenContext.cs
- ManagedWndProcTracker.cs
- ScopedKnownTypes.cs
- UnknownBitmapDecoder.cs
- Pool.cs
- EdmProperty.cs
- nulltextcontainer.cs
- SqlProviderServices.cs
- ProxyDataContractResolver.cs
- MatrixCamera.cs
- ErrorRuntimeConfig.cs
- CSharpCodeProvider.cs
- SqlCommandSet.cs