3 // Copyright (c) Microsoft Corporation. All rights reserved.
7 // <OWNER>[....]</OWNER>
8 // <OWNER>[....]</OWNER>
9 // <OWNER>[....]</OWNER>
13 namespace System.Runtime.InteropServices.WindowsRuntime
15 // Event registration tokens are 64 bit opaque structures returned from WinRT style event adders, in order
16 // to signify a registration of a particular delegate to an event. The token's only real use is to
17 // unregister the same delgate from the event at a later time.
18 public struct EventRegistrationToken
20 internal ulong m_value;
22 internal EventRegistrationToken(ulong value)
29 get { return m_value; }
32 public static bool operator ==(EventRegistrationToken left, EventRegistrationToken right)
34 return left.Equals(right);
37 public static bool operator !=(EventRegistrationToken left, EventRegistrationToken right)
39 return !left.Equals(right);
42 public override bool Equals(object obj)
44 if (!(obj is EventRegistrationToken))
49 return ((EventRegistrationToken)obj).Value == Value;
52 public override int GetHashCode()
54 return m_value.GetHashCode();