public static IEqualityComparer GetRandomizedEqualityComparer(object comparer)
{
Debug.Assert(comparer == null || comparer == System.Collections.Generic.EqualityComparer<string>.Default || comparer is IWellKnownStringEqualityComparer);
if (comparer == null)
{
return new System.Collections.Generic.RandomizedObjectEqualityComparer();
}
if (comparer == System.Collections.Generic.EqualityComparer<string>.Default)
{
return new System.Collections.Generic.RandomizedStringEqualityComparer();
}
IWellKnownStringEqualityComparer cmp = comparer as IWellKnownStringEqualityComparer;
if (cmp != null)
{
return cmp.GetRandomizedEqualityComparer();
}
Debug.Fail("Missing case in GetRandomizedEqualityComparer!");
return null;
}