原贴:|zyciis| 如何对一个用户控件进行多层反射赋值? 有代码,谢谢
http://topic.csdn.net/u/20091203/16/fc8d64d4-d995-4d6d-89ce-5b2cf7c3b1ca.html?582218064
---------------------------------
解决为:
 object obj = Activator.CreateInstance(pi.PropertyType);
 System.Reflection.PropertyInfo pName = pi.PropertyType.GetProperty("Name");---------
我发现我自己一直出错:未找到属性设置方法。后来发现为:
 System.Reflection.PropertyInfo pName = pi.PropertyType.GetProperty("Name");
我的为
 System.Reflection.PropertyInfo pName = pi.GetType().GetProperty("Name");1:这里区别,我调试发现他们的内容是一样的啊,但为什么GetType()会出错
2:GetProperty("Name")如何不区分大小写,谢谢

解决方案 »

  1.   

    pi.PropertyType
    pi.GetType()
    他们2个内容一样?我感觉是一个是属性的type,一个是所有的type,除非你只有属性
      

  2.   

    pi.PropertyType 
    pi.GetType() 
    他们2个内容一样?我感觉是一个是属性的type,一个是所有的type,除非你只有属性
    ------------
    我的意思是取得的结果感觉是一样的,但是实际上是不一样的
    那他们取出来的两个对像的区别是什么呢?谢谢
      

  3.   

    GetType   获取当前实例的 Type。 (从 Object 继承。)  (http://msdn.microsoft.com/zh-cn/library/system.reflection.propertyinfo_methods(VS.80).aspx)PropertyType  获取此属性 (Property) 的类型。  (http://msdn.microsoft.com/zh-cn/library/system.reflection.propertyinfo_properties(VS.80).aspx)
      

  4.   

    PropertyTypeGetType()看字面就可以了。PropertyType 屬性的型別GetType() 获得当前对象的类别不是一个东东
      

  5.   

    GetType获取的是当前对象的类型,在这里也就是PropertyInfo类
    而PropertyType获取的是属性定义的类型不区分大小写:
    GetProperty("Name", BindingFlags.IgnoreCase);
      

  6.   

    http://topic.csdn.net/u/20091203/17/558dc7a2-27eb-4bfe-a400-892ef26323e7.html?60958接分去