日期:2014-05-20  浏览次数:20827 次

C#通过反射获取一个类的属性,但是属性是list<>类型。我现在想获取这个属性的值,试了很久都没办法
 public class class1
    {
        public int i { get; set; }
        public List<string> list { get; set; }
    }

  static void Main(string[] args)
        {
            class1 a = new class1();
            a.list = new List<string>();
            a.list.Add("1");
            object obj = a;
            Type t = a.GetType();

            List<string> pis = (List<string>)t.GetProperty("list");   
        }
C#通过反射获取一个类的属性,但是属性是list<>类型。我现在想通过反射获取Class1的list属性。并将它赋值给一个list对象。上面的代码报错,也试了很多其他方法都没用,希望有人能指导一下。
------解决方案--------------------
var p =t.GetProperty("list");   
List<string> pis = (List<string>)p.GetValue(a,null);
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/