internal static bool IsDefaultEqualityComparer(Type keyType, object comparer) { var defaultComparer = DictionaryComparerHelper.GetDefaultEqualityComparer(keyType); if (defaultComparer != comparer) { return(false); } return(true); }
internal static bool IsObjectADictionaryWithDefaultComparerAndNoAdditionalProperties(object obj) { if (obj == null) { return(false); } var dictType = DictionaryComparerHelper.DefaultComparerDictionaryTypeForType.GetOrAdd(obj.GetType(), DictionaryComparerHelper.GetUnderlyingDictionaryType); if (dictType != null) { var dictComparer = DictionaryComparerHelper.GetDictionaryComparer(obj, dictType); return(IsDefaultEqualityComparer(dictType.GetGenericArguments()[0], dictComparer)); } return(false); }