http://www.cnblogs.com/Sandheart/archive/2013/04/03/2998181.html
//定义类
public class MyClass
{
public int Property1 { get; set; }
}
static void Main()
{
MyClass tmp_Class = new MyClass();
tmp_Class.Property1 = 2;
Type type = tmp_Class.GetType(); //获取类型
System.Reflection.PropertyInfo propertyInfo = type.GetProperty("Property1"); //获取指定名称的属性
int value_Old = (int)propertyInfo.GetValue(tmp_Class, null); //获取属性值
Console.WriteLine(value_Old);
propertyInfo.SetValue(tmp_Class, 5, null); //给对应属性赋值
int value_New = (int)propertyInfo.GetValue(tmp_Class, null);
Console.WriteLine(value_New);
}
其它应用请参考:http://www.bitscn.com/pdb/dotnet/200804/138760.html
class Sudent
{
public string Name { get; set; }
public int age { get; set; }
public string Address { get; set; }
}
class Program
{
static void Main(string[] args)
{
Sudent stu = new Sudent();
stu.Name = "zhangsan";
stu.age = 10;
stu.Address = "test";
typeof(Sudent).GetProperty("Name").SetValue(stu, "erwsd");
typeof(Sudent).GetProperty("Address").SetValue(stu, "adfwr");
//System.Reflection.PropertyInfo
foreach (System.Reflection.PropertyInfo info in typeof(Sudent).GetProperties())
{
Console.WriteLine(info.Name +" "+ info.GetValue(stu, null).ToString());
}
Console.ReadKey();
}
}