有没有办法通过反射来获取属性背后的对象?如何使用反射物体到达物体背后的“物体”?
我想管理一个属性的动态设置。
例子:
class Animal
{
public string Name {get;set;}
public string Family {get;set;}
}
class Zoo
{
public Animal Lion {get;set;}
public Animal Panda {get;set;}
}
class Test
{
public void SetLionNameWithReflection()
{
Zoo londonZoo = new Zoo();
Type zooType = typeof(Zoo);
PropertyInfo lionProperty = zooType.GetProperty("Lion");
// Now what to write here so that I can manage to set Lion's name to Kaspar?
// (to manage this by reflection Lion.Name = "Kaspar");
}
}
我应该在上面的注释部分添加什么线条更?
谢谢!
'zooType'是一个'Type'对象;你需要在'londonZoo'上设置值。然而,这也不起作用,因为你不能将一个'string'赋值给'Animal'类型的属性。 – dlev
@dlev - 非常真实。 –