//---------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // //---------------------------------------------------------------- namespace Microsoft.Activities.Presentation.Xaml { using System.Collections.Generic; using System.Runtime.CompilerServices; internal sealed class ObjectReferenceEqualityComparer : IEqualityComparer where T : class { private static ObjectReferenceEqualityComparer defaultComparer; private ObjectReferenceEqualityComparer() { } public static ObjectReferenceEqualityComparer Default { get { if (defaultComparer == null) { defaultComparer = new ObjectReferenceEqualityComparer(); } return defaultComparer; } } public bool Equals(T x, T y) { return object.ReferenceEquals(x, y); } public int GetHashCode(T obj) { return RuntimeHelpers.GetHashCode(obj); } } }