动态属性(PropertyInfo)示例

//动态属性获取PropertyInfo


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Collections;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {


            List<Test> list = new List<Test>() { new Test(){Name="zfl",Age=25},new Test(){Name="lcj",Age = 25}};
            list.ForEach(t =>
                   // Console.WriteLine("Name:"+t.Name+",Age="+t.Age)
                    Write(t)
                );
            Console.Read();   
        }


        static void Write(object a)
        {
           PropertyInfo[] pros = a.GetType().GetProperties();//1.获取所有公共的属性集合
           


           int i = 0;
          foreach(PropertyInfo pro in pros)
          {


              object obj = pro.GetValue(a, null);//2.获取值
              //pro.Name ; //获取属性的名称
              //pro.PropertyType; //获取属性的数据类型如(System.String)
              var v = obj; //用var 定义变量,进行数据的动态接收,var的类型根据obj 的GetType()类型来决定
                Console.WriteLine( v);
                i++;
            }
        }
    }


    class Test
    {
        public String Name { get; set; }
        public int Age { get; set; }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值