コード例 #1
0
        internal static bool IsDefaultEqualityComparer(Type keyType, object comparer)
        {
            var defaultComparer = DictionaryComparerHelper.GetDefaultEqualityComparer(keyType);

            if (defaultComparer != comparer)
            {
                return(false);
            }

            return(true);
        }
コード例 #2
0
        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);
        }