直接看代码
static void Main(string[] args)
{
var role = new
{
Name = "叶修",
Weapon = "却邪"
};
var type = role.GetType();
var property = type.GetProperty("Weapon");
property.SetValue(role, "千机伞");
Console.WriteLine(role.Weapon);
Console.ReadKey();
}
在运行到property.SetValue(role, "千机伞")
时会报错System.ArgumentException:“未找到属性设置方法。”
但如果不使用匿名类就没事
static void Main(string[] args)
{
var role = new Role()
{
Name = "叶修",
Weapon = "却邪"
};
var type = role.GetType();
var property = type.GetProperty("Weapon");
property.SetValue(role, "千机伞");
Console.WriteLine(role.Weapon);
Console.ReadKey();
}
public class Role
{
public string Name { get; set; }
public string Weapon { get; set; }
}
简单记录一下。