[英]evaluate a string as a property in C#
我有一个存储在字符串中的属性...说Object 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};
Foo foo = new Foo();
var barValue = foo.GetType().GetProperty("Bar").GetValue(foo, null)
你会使用反射:
PropertyInfo propertyInfo = foo.GetType().GetProperty(property);
object value = propertyInfo.GetValue(foo, null);
调用中的null
是索引属性,而不是你拥有的属性。
你需要使用反射来做到这一点。
这样的事应该照顾你
foo.GetType().GetProperty(property).GetValue(foo, null);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.