1 //----------------------------------------------------------------
2 // <copyright company="Microsoft Corporation">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //----------------------------------------------------------------
7 namespace Microsoft.Activities.Presentation.Xaml
9 using System.Collections.Generic;
10 using System.Runtime.CompilerServices;
12 internal sealed class ObjectReferenceEqualityComparer<T> : IEqualityComparer<T> where T : class
14 private static ObjectReferenceEqualityComparer<T> defaultComparer;
16 private ObjectReferenceEqualityComparer()
20 public static ObjectReferenceEqualityComparer<T> Default
24 if (defaultComparer == null)
26 defaultComparer = new ObjectReferenceEqualityComparer<T>();
29 return defaultComparer;
33 public bool Equals(T x, T y)
35 return object.ReferenceEquals(x, y);
38 public int GetHashCode(T obj)
40 return RuntimeHelpers.GetHashCode(obj);