Exemplo n.º 1
0
        public TypeCachedInfo(Type type)
        {
            var properties = type.GetProperties(BindingFlags.Instance | BindingFlags.Public);

            PropInvokerDict = new Dictionary <string, PropAccessor>(properties.Length, StringComparer.OrdinalIgnoreCase);
            foreach (var prop in properties)
            {
                PropAccessor accessor = new PropAccessor(prop);
                PropInvokerDict[prop.Name] = accessor;
            }

            NewInvoker = DynamicMethodHelper.BuildConstructorInvoker(type);
        }
Exemplo n.º 2
0
        public TypeCachedInfo(Type modelType)
        {
            //构造委托
            NewInvoker = DynamicMethodHelper.BuildConstructorInvoker <TObject>(modelType);
            var Properties = modelType.GetProperties(BindingFlags.Instance | BindingFlags.Public);

            accessorDict = new Dictionary <string, Accessor>(Properties.Length);

            //var Fields = modelType.GetFields(BindingFlags.Instance | BindingFlags.Public);

            foreach (var prop in Properties)
            {
                string propName = prop.Name.ToUpper();
                accessorDict[propName] = new Accessor(prop);
            }
        }