1
public class Car
 {
     public string Color { get; set; }
     public string Model { get; set; }
 }

我如何从变量中调用“Car.Color”或“Car.Model”?

前任。

string MyVariable = "Color";
MyListBox.Items.Add(Car.Model); //It Works Ok
MyListBox.Items.Add(Car.MyVariable); // How??

问候。

4

1 回答 1

11

你必须使用反射。例如:

var property = typeof(Car).GetProperty(MyVariable);
MyListBox.Items.Add(property.GetValue(Car)); // .NET 4.5

或者:

var property = typeof(Car).GetProperty(MyVariable);
MyListBox.Items.Add(property.GetValue(Car, null)); // Prior to .NET 4.5

Car(请注意,如果您为变量使用与 type不同的名称,您的示例代码会更清晰Car。同上MyVariable,它在正常的 .NET 命名约定中看起来不像变量。)

于 2013-06-28T18:01:42.920 回答