/V2.2/trunk/CAL/Desktop/Composite/Events/SubscriptionToken.cs
# · C# · 75 lines · 26 code · 5 blank · 44 comment · 3 complexity · 427f7252b1d8488fb66e9932ce9419a5 MD5 · raw file
- //===================================================================================
- // Microsoft patterns & practices
- // Composite Application Guidance for Windows Presentation Foundation and Silverlight
- //===================================================================================
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
- // OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
- // LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- // FITNESS FOR A PARTICULAR PURPOSE.
- //===================================================================================
- // The example companies, organizations, products, domain names,
- // e-mail addresses, logos, people, places, and events depicted
- // herein are fictitious. No association with any real company,
- // organization, product, domain name, email address, logo, person,
- // places, or events is intended or should be inferred.
- //===================================================================================
- using System;
-
- namespace Microsoft.Practices.Composite.Events
- {
- /// <summary>
- /// Subsription token returned from <see cref="EventBase"/> on subscribe.
- /// </summary>
- public class SubscriptionToken : IEquatable<SubscriptionToken>
- {
- private readonly Guid _token;
-
- /// <summary>
- /// Initializes a new instance of <see cref="SubscriptionToken"/>.
- /// </summary>
- public SubscriptionToken()
- {
- _token = Guid.NewGuid();
- }
-
- ///<summary>
- ///Indicates whether the current object is equal to another object of the same type.
- ///</summary>
- ///<returns>
- ///<see langword="true"/> if the current object is equal to the <paramref name="other" /> parameter; otherwise, <see langword="false"/>.
- ///</returns>
- ///<param name="other">An object to compare with this object.</param>
- public bool Equals(SubscriptionToken other)
- {
- if (other == null) return false;
- return Equals(_token, other._token);
- }
-
- ///<summary>
- ///Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
- ///</summary>
- ///<returns>
- ///true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
- ///</returns>
- ///<param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. </param>
- ///<exception cref="T:System.NullReferenceException">The <paramref name="obj" /> parameter is null.</exception><filterpriority>2</filterpriority>
- public override bool Equals(object obj)
- {
- if (ReferenceEquals(this, obj)) return true;
- return Equals(obj as SubscriptionToken);
- }
-
- ///<summary>
- ///Serves as a hash function for a particular type.
- ///</summary>
- ///<returns>
- ///A hash code for the current <see cref="T:System.Object" />.
- ///</returns>
- ///<filterpriority>2</filterpriority>
- public override int GetHashCode()
- {
- return _token.GetHashCode();
- }
- }
- }