通过反射获取对象
问题描述:
我正在寻找类似这样的c#机制:
I'm looking for mechanism in c# works like that:
Car car1;
Car car2;
Car car = (Car)SomeMechanism.Get("car1");
car1和car2是字段
car1 and car2 are fields
我想用反射得到一些对象,而不是类型:/我该如何在c#中完成它?
So I want to get some object with reflection, not type :/ How can I do it in c# ?
答
局部变量,但如果有字段,则可以
It's not possible for local variables but If you have a field, you can do
class Foo{
public Car car1;
public Car car2;
}
您可以做到
object fooInstance = ...;
Car car1 = (Car)fooInstance.GetType().GetField("car1").GetValue(fooInstance);