通过反射获取对象

问题描述:

我正在寻找类似这样的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);