public static bool Equals(object objA, object objB) { return ((objA == objB) || (((objA != null) && (objB != null)) && objA.Equals(objB))); } public virtual bool Equals(object obj) { return InternalEquals(this, obj); } [MethodImpl(MethodImplOptions.InternalCall)] internal static extern bool InternalEquals(object objA, object objB); [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] public static bool ReferenceEquals(object objA, object objB) { return (objA == objB); } //csharp/6012