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
- SaveFileDialogDesigner.cs
- DrawListViewItemEventArgs.cs
- SignatureDescription.cs
- FontFamilyValueSerializer.cs
- WorkflowInvoker.cs
- ObjectToIdCache.cs
- BitmapEditor.cs
- TransformValueSerializer.cs
- BooleanStorage.cs
- Vector3DKeyFrameCollection.cs
- SqlRecordBuffer.cs
- HttpGetServerProtocol.cs
- AnnotationService.cs
- LocationReferenceEnvironment.cs
- HtmlHistory.cs
- BaseParaClient.cs
- TypeDescriptor.cs
- ServiceRouteHandler.cs
- SafeEventLogReadHandle.cs
- DataGridViewSelectedRowCollection.cs
- ImportCatalogPart.cs
- ProxyHwnd.cs
- XsdCachingReader.cs
- CorrelationManager.cs
- FormDocumentDesigner.cs
- Block.cs
- DeadCharTextComposition.cs
- TypeLoadException.cs
- DataControlField.cs
- XpsFilter.cs
- TableSectionStyle.cs
- EventDescriptor.cs
- Win32.cs
- TextSpan.cs
- ETagAttribute.cs
- QueryReaderSettings.cs
- VirtualDirectoryMapping.cs
- HttpCachePolicy.cs
- AnnotationMap.cs
- ContextMenu.cs
- SafeRightsManagementSessionHandle.cs
- GcSettings.cs
- NameValuePermission.cs
- ManifestResourceInfo.cs
- TraceContextEventArgs.cs
- Odbc32.cs
- OleDbParameter.cs
- UnicastIPAddressInformationCollection.cs
- IISMapPath.cs
- CodeRemoveEventStatement.cs
- webproxy.cs
- TextProviderWrapper.cs
- ClientTargetSection.cs
- IdleTimeoutMonitor.cs
- AffineTransform3D.cs
- Binding.cs
- XPathPatternBuilder.cs
- AnimationStorage.cs
- Win32Native.cs
- BaseValidator.cs
- CodeEntryPointMethod.cs
- LinkedResource.cs
- WebPartEditorApplyVerb.cs
- HashRepartitionEnumerator.cs
- GenericRootAutomationPeer.cs
- StrongNameIdentityPermission.cs
- GlyphRunDrawing.cs
- ZoneLinkButton.cs
- IsolatedStorageFilePermission.cs
- Light.cs
- ExpandSegment.cs
- HyperLink.cs
- WebEventCodes.cs
- DataGridViewLinkColumn.cs
- RuleInfoComparer.cs
- SecurityDocument.cs
- TextSelectionProcessor.cs
- XmlKeywords.cs
- TimeSpanValidatorAttribute.cs
- EditorAttribute.cs
- DefaultTextStore.cs
- MediaTimeline.cs
- CodeDirectiveCollection.cs
- WsatAdminException.cs
- IgnoreSectionHandler.cs
- PhoneCallDesigner.cs
- ObjectStateEntryDbDataRecord.cs
- CapabilitiesUse.cs
- ConfigurationStrings.cs
- XPathMessageFilter.cs
- HtmlInputReset.cs
- ZipIOFileItemStream.cs
- Overlapped.cs
- ZipIOExtraField.cs
- DeclaredTypeValidator.cs
- TextModifierScope.cs
- NativeMethods.cs
- Pts.cs
- CodeAttributeDeclaration.cs
- FileDialog.cs