想得到一个类对象所有的property的信息,用这两种方法都可以吧? 得到的东西可能会有什么不同么? 可能我问的问题本身有误区,希望我想表达的意思可以让大家明白了。 谢谢! |
|
求答案!…….
|
|
25分 |
TypeDescriptor.GetProperties得到的是属性的数组(可能多个)
反射得到的PropertyInfo,不知道你说的反射是什么,但是你说是PropertyInfo,那显然只是一个属性 |
25分 |
也许功能类型,但明显得到的类型都不同。
|
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace IconTest { public partial class Form2 : Form { public Form2() { InitializeComponent(); ReflectTest rt = new ReflectTest(); //rt.GetType().GetProperty("ID").SetValue(rt, "Guid", null); TypeDescriptor.GetProperties(rt)["ID"].SetValue(rt, "Guid"); MessageBox.Show(rt.ID); } } public class ReflectTest { private string id; [ReadOnly(true)] public string ID { get { return id; } set { id = value; } } } } 对于只读属性TypeDescriptor.GetProperties(rt)[“ID”].SetValue(rt, “Guid”); setvalue失效 |