2011-06-15 36 views
5

我有存儲在一個字符串的屬性...發言權對象Foo有一個屬性Bar,所以得到Bar財產我會打電話的價值..評價一個字符串在C#中的屬性

Console.Write(foo.Bar); 

現在說我有存儲在一個字符串變量"Bar" ...

string property = "Bar" 

Foo foo = new Foo(); 

我將如何得到使用propertyfoo.Bar價值?

我如何使用在PHP做

$property = "Bar"; 

$foo = new Foo(); 

echo $foo->{$property}; 

回答

6
Foo foo = new Foo(); 
var barValue = foo.GetType().GetProperty("Bar").GetValue(foo, null) 
1

你會使用反射:

PropertyInfo propertyInfo = foo.GetType().GetProperty(property); 
object value = propertyInfo.GetValue(foo, null); 

null呼叫有索引屬性,這不是你所擁有的。

1

你需要使用反射來做到這一點。

像這樣的東西應該照顧你

foo.GetType().GetProperty(property).GetValue(foo, null); 
護理