2011-06-15 7 views
5

मैं एक स्ट्रिंग में संग्रहीत एक संपत्ति है ... कहते वस्तु 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}; 

उत्तर

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); 
ध्यान रखना चाहिए
संबंधित मुद्दे