public static IEqualityComparer GetRandomizedEqualityComparer(object comparer) { Contract.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()); } Contract.Assert(false, "Missing case in GetRandomizedEqualityComparer!"); return(null); }
public static object GetEqualityComparerForSerialization(object comparer) { if (comparer == null) { return(null); } IWellKnownStringEqualityComparer wellKnownStringEqualityComparer = comparer as IWellKnownStringEqualityComparer; if (wellKnownStringEqualityComparer != null) { return(wellKnownStringEqualityComparer.GetEqualityComparerForSerialization()); } return(comparer); }
public static IEqualityComparer GetRandomizedEqualityComparer(object comparer) { if (comparer == null) { return(new RandomizedObjectEqualityComparer()); } if (comparer == EqualityComparer <string> .Default) { return(new RandomizedStringEqualityComparer()); } IWellKnownStringEqualityComparer wellKnownStringEqualityComparer = comparer as IWellKnownStringEqualityComparer; if (wellKnownStringEqualityComparer != null) { return(wellKnownStringEqualityComparer.GetRandomizedEqualityComparer()); } return(null); }