Type t = Type.GetType("MyClass");
//获取"MyClass"的属性
PropertyInfo[] properts = t.GetProperties();
//根据属性名获取某一属性
PropertyInfo p = t.GetProperty("Id");
//设置某一属性的值
MyClass my = new MyClass();
t.setValue(my, 123, null);
//获取"MyClass"的属性
PropertyInfo[] properts = t.GetProperties();
//根据属性名获取某一属性
PropertyInfo p = t.GetProperty("Id");
//设置某一属性的值
MyClass my = new MyClass();
t.setValue(my, 123, null);
应用:
public class BaseClass
where T : class, new()
{
public T Test()
{
T t = new T();
PropertyInfo[] properts = t.GetType().GetProperties();
foreach(var item in properts)
{
item.setValue(t, objValue, null);
}
return t;
}
}
本文深入探讨了C#中的反射机制,包括如何使用Type类获取类型信息,利用属性信息进行对象属性的读写操作,以及如何通过反射创建并初始化对象。通过具体的代码示例,展示了如何遍历类型的所有属性,并为特定属性赋值。
1446

被折叠的 条评论
为什么被折叠?



