コード例 #1
0
ファイル: PropertyAccessor.cs プロジェクト: haludi/ravendb
        public static PropertyAccessor Create(Type type, object instance)
        {
            if (instance is Dictionary <string, object> dict)
            {
                return(DictionaryAccessor.Create(dict));
            }

            return(new PropertyAccessor(type));
        }
コード例 #2
0
ファイル: PropertyAccessor.cs プロジェクト: haludi/ravendb
        internal static PropertyAccessor CreateMapReduceOutputAccessor(Type type, object instance, HashSet <CompiledIndexField> _groupByFields)
        {
            if (instance is Dictionary <string, object> dict)
            {
                return(DictionaryAccessor.Create(dict, _groupByFields));
            }

            return(new PropertyAccessor(type, _groupByFields));
        }
コード例 #3
0
ファイル: PropertyAccessor.cs プロジェクト: yitaom2/ravendb
        public static IPropertyAccessor Create(Type type, object instance)
        {
            if (type == typeof(ObjectInstance))
            {
                return(new JintPropertyAccessor(null));
            }

            if (instance is Dictionary <string, object> dict)
            {
                return(DictionaryAccessor.Create(dict));
            }

            return(new PropertyAccessor(type));
        }
コード例 #4
0
ファイル: PropertyAccessor.cs プロジェクト: yitaom2/ravendb
        internal static IPropertyAccessor CreateMapReduceOutputAccessor(Type type, object instance, HashSet <CompiledIndexField> groupByFields, bool isObjectInstance = false)
        {
            if (isObjectInstance || type == typeof(ObjectInstance) || type.IsSubclassOf(typeof(ObjectInstance)))
            {
                return(new JintPropertyAccessor(groupByFields));
            }

            if (instance is Dictionary <string, object> dict)
            {
                return(DictionaryAccessor.Create(dict, groupByFields));
            }

            return(new PropertyAccessor(type, groupByFields));
        }
コード例 #5
0
        internal static IPropertyAccessor CreateMapReduceOutputAccessor(Type type, object instance, HashSet <string> _groupByFields, bool isObjectInstance = false)
        {
            if (isObjectInstance || type == typeof(ObjectInstance))
            {
                return(new JintPropertyAccessor(_groupByFields));
            }

            if (instance is Dictionary <string, object> dict)
            {
                return(DictionaryAccessor.Create(dict, _groupByFields));
            }

            return(new PropertyAccessor(type, _groupByFields));
        }