我有一个存储在字符串中的属性...说对象Foo
有一个属性Bar
,所以要获取我要调用的Bar
属性的值..
Console.Write(foo.Bar);
现在说我将"Bar"
存储在字符串变量中......
string property = "Bar"
Foo foo = new Foo();
如何使用foo.Bar
获取property
的值?
我如何在PHP中使用
$property = "Bar";
$foo = new Foo();
echo $foo->{$property};
答案 0 :(得分:7)
Foo foo = new Foo();
var barValue = foo.GetType().GetProperty("Bar").GetValue(foo, null)
答案 1 :(得分:2)
你会使用反射:
PropertyInfo propertyInfo = foo.GetType().GetProperty(property);
object value = propertyInfo.GetValue(foo, null);
调用中的null
用于索引属性,而不是您拥有的属性。
答案 2 :(得分:2)
你需要使用反射来做到这一点。
这样的事应该照顾你
foo.GetType().GetProperty(property).GetValue(foo, null);