Ejemplo n.º 1
0
        public static object GetFieldValue(object obj, FieldInfo field)
        {
            //创建Set委托
            var getter = DynamicMethodCompilerUtil.CreateGetHandler(obj.GetType(), field);

            //获取字段值
            return(getter(obj));
        }
Ejemplo n.º 2
0
        public static object GetPropertyValue(object obj, PropertyInfo property)
        {
            //创建Set委托
            var getter = DynamicMethodCompilerUtil.CreateGetHandler(obj.GetType(), property);

            //获取属性值
            return(getter(obj));
        }
Ejemplo n.º 3
0
        public static void SetFieldValue(object obj, FieldInfo field, object value)
        {
            //创建Set委托
            var setter = DynamicMethodCompilerUtil.CreateSetHandler(obj.GetType(), field);

            //先获取该私有成员的数据类型
            var type = field.FieldType;

            //通过数据类型转换
            value = TypeUtil.ConvertForType(value, type);

            //将值设置到对象中
            setter(obj, value);
        }
Ejemplo n.º 4
0
        public static void SetPropertyValue(object obj, PropertyInfo property, object value)
        {
            //创建Set委托
            var setter = DynamicMethodCompilerUtil.CreateSetHandler(obj.GetType(), property);

            //先获取该私有成员的数据类型
            var type = property.PropertyType;

            //通过数据类型转换
            value = TypeUtil.ConvertForType(value, type);

            //将值设置到对象中
            setter(obj, value);
        }