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??
问候。
答案 0 :(得分: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
的名称而不是类型Car
,则您的示例代码会更清晰。请注意,Ditto MyVariable
看起来不像变量在正常的.NET命名约定中。)