反射设置Field

namespace ConsoleApplication3
{
    class DataObject
    {
        public int iValue;
        public string sValue;
        public decimal dValue;
    }

    class Program
    {
        public static void SetObjectProperty<T>(object obj, string propertyName, T value)
        {
            var objType = obj.GetType();
            var field = objType.GetField(propertyName);
            field.SetValue(obj, value);
        }

        static void Main(string[] args)
        {
            var obj = new DataObject();
            SetObjectProperty<int>(obj, "iValue", 100);
            SetObjectProperty<string>(obj, "sValue", "Hello");
            SetObjectProperty<decimal>(obj, "dValue", 123.456M);
        }
    }
}
时间: 2024-08-03 10:27:49

反射设置Field的相关文章

使用反射设置对象的字段值

package com.sadhu; import java.util.*; import java.lang.reflect.*; /** */ public class Sample {     public static void main(String[] args)throws Exception     {         Class cl = Class.forName("com.sadhu.ReflectTest");         Object rt = cl.ne

Java 反射机制[Field反射]

Java 反射机制[Field反射] 1.  反射概念及功能 反射就是把Java类中的各种成分映射成相应的Java类.例如一个Java类中用一个Class类的对象来表示.一个类中的组成部分分为成员变量,方法,构造方法,包等等. Java反射机制主要提供了以下功能: 判断在运行时任意一个对象所属的类:在运行时构造任意一个类的对象:判断在运行时任意一个类所具有的成员变量和方法:在运行时调用任意一个对象的方法:生成动态代理. 2.  Field反射 以下代码将obj对象中的String类型的字段对应的

C# 反射 设置实体属性

http://blog.csdn.net/cestarme/article/details/6548126 C#反射设置属性值和获取属性值 http://www.cnblogs.com/yeagen/archive/2012/08/29/2662494.html

Java反射设置和访问私有属性值

越学习到后面,越感觉java反射机制很重要,必须精通,要不框架那块比较难自己动手实现,回过头温习一下反射机制,查漏补缺 今天尝试了一下通过反射访问和设置类的私有属性(不设置settesr和getters),比较容易理解,代码一贴就知道了 下面是po代码: package cn.liangqinghai.reflect; public class Beans1 { public Beans1(){ System.out.println("无参构造调用"); } public Beans1

【反射之Field】获取字段

■getFields().getDeclaredFields().getField() 和 getDeclaredField()的用法 1 package reflect.field; 2 3 import java.lang.reflect.Constructor; 4 import java.lang.reflect.Field; 5 import java.lang.reflect.InvocationTargetException; 6 import java.lang.reflect.

[转] C#反射设置属性值和获取属性值

/// /// 获取类中的属性值 /// /// /// /// public string GetModelValue(string FieldName, object obj) { try { Type Ts = obj.GetType(); object o = Ts.GetProperty(FieldName).GetValue(obj, null); string Value = Convert.ToString(o); if (string.IsNullOrEmpty(Value))

C#反射设置属性值和获取属性值

/// /// 获取类中的属性值 /// /// /// /// public string GetModelValue(string FieldName, object obj) { try { Type Ts = obj.GetType(); object o = Ts.GetProperty(FieldName).GetValue(obj, null); string Value = Convert.ToString(o); if (string.IsNullOrEmpty(Value))

JAVA反射之 Field (属性)

主要方法: public static void main(String[] args) throws Exception { Class<?> clazz = Class.forName("Person"); //得到类中所有方法,返回一个数组 Field[] fileds = clazz.getFields(); //得到所有方法包括私有方法 Field[] fields2 = clazz.getDeclaredFields(); //得到方法 Field field

C# 反射 设置字段值无效的解决办法

FieldInfo.SetValue的原型是:void SetValue(object obj, object value)当你传递一个值类型(结构是值类型)的时候,它要转化成object,也就是要装箱.而SetValue将作用在那个装箱产品上,而不是原来的那个结构. 解决办法就是自己装箱和拆箱子: object boxedB = b; //自己装箱,以便拿到装箱产品 fi.SetValue(boxedB, a); // b = (B)boxedB; //拆箱并拿到被SetValue的结果 Co