如何使用反射取得对象的属性值

简介: using System;using System.Collections.Generic;using System.Text;using System.Reflection;namespace learn.MyReflector...{   public class Task    ...{       private int m_id;       private DateTime 
using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.Reflection;

namespace  learn.MyReflector
{
   
public class Task
    
{
       
private int m_id;
       
private DateTime m_arrtime;
       
private string m_name;

       
public int Id get return m_id; } set { m_id = value; } }
       
public DateTime ArrTime get return m_arrtime; } set { m_arrtime = value; } }
       
public string Name get return m_name; } set { m_name = value; } }

       
public override string ToString()
       
{
           
return "learn.MyReflector.Task";
       }


    }




    
public  class MyReflectorTest
    
{
        
public  void Start(string clsname,object tarobj)
        
{
            Assembly asm 
= Assembly.GetExecutingAssembly();
            System.Type tasktype 
= asm.GetType(clsname);

            PropertyInfo[] proinfo 
= tasktype.GetProperties();

            System.Console.WriteLine(
"取出属性值");
            
foreach (PropertyInfo pi in proinfo)
            
{
                System.Console.WriteLine(pi.Name);
            }


            
foreach (PropertyInfo pi in proinfo)
            
{
                System.Console.WriteLine(
                    pi.GetGetMethod().Invoke(tarobj, 
new object[] { }).ToString()
                    );
            }


            
        }

    }


}




    MyReflector.Task mytask 
=   new  learn.MyReflector.Task();
    mytask.ArrTime 
=  DateTime.Now;
    mytask.Id 
=   120 ;
    mytask.Name 
=   " test " ;


    MyReflector.MyReflectorTest tp 
=   new  learn.MyReflector.MyReflectorTest();
    tp.Start(mytask.ToString(), mytask);

    
string   bb  =  System.Console.ReadLine();
 
相关文章
|
5月前
|
测试技术
反射获取或修改对象属性的值
* 获取单个对象的所有键值对
47 3
|
Java API
Java反射(通过反射获取构造函数、方法、属性)
1.通过反射获取构造函数,2.通过反射获取方法,3.通过反射调用成员属性
112 0
|
安全 Java
注解和反射12.动态创建对象执行方法
注解和反射12.动态创建对象执行方法
|
XML Java 数据格式
反射机制(什么是反射、反射操作构造器、方法、字段、反射加载资源)
反射机制(什么是反射、反射操作构造器、方法、字段、反射加载资源)
157 0
反射机制(什么是反射、反射操作构造器、方法、字段、反射加载资源)
C#反射与特性(四 实例化类型
C#反射与特性(四 实例化类型
279 0
C#反射与特性(四 实例化类型
|
Java 开发者
反射实例化对象|学习笔记
快速学习反射实例化对象
151 0
反射实例化对象|学习笔记
|
Java 开发者
反射与类操作(反射调用构造)|学习笔记
快速学习 反射与类操作(反射调用构造)
124 0
如何通过反射调用对象的方法?
import java.lang.reflect.Method; class MethodInvokeTest { public static void main(String[] args) throws Exception { ...
1117 0
|
C#
C#使用反射设置属性值
最近在Refix一个支持Excel文件导入导出功能时,发现有用到反射的相关技能。故而在网上查了些资料,通过代码调试加深下理解。 class Program { static void Main(string[] args) { ...
1365 0