[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
- public struct IntPtr : ISerializable
+ public struct IntPtr : IEquatable<IntPtr>, ISerializable
{
[SecurityCritical]
unsafe private void* m_value; // The compiler treats void* closest to uint hence explicit casts are required to preserve int behavior
}
return false;
}
+
+ [SecuritySafeCritical]
+ unsafe bool IEquatable<IntPtr>.Equals(IntPtr other)
+ {
+ return m_value == other.m_value;
+ }
[System.Security.SecuritySafeCritical] // auto-generated
public unsafe override int GetHashCode() {
[Serializable]
[CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(true)]
- public struct UIntPtr : ISerializable
+ public struct UIntPtr : IEquatable<UIntPtr>, ISerializable
{
[SecurityCritical]
unsafe private void* m_value;
}
return false;
}
+
+ [SecuritySafeCritical]
+ unsafe bool IEquatable<UIntPtr>.Equals(UIntPtr other)
+ {
+ return m_value == other.m_value;
+ }
[System.Security.SecuritySafeCritical] // auto-generated
public unsafe override int GetHashCode() {