पर आधारित संपत्ति मूल्य कैसे प्राप्त करें, किसी नाम की वस्तु के आधार पर किसी ऑब्जेक्ट की संपत्ति का मूल्य प्राप्त करने का कोई तरीका है?नाम
उदाहरण के लिए अगर मेरे पास है:
public class Car : Vehicle
{
public string Make { get; set; }
}
और
var car = new Car { Make="Ford" };
मैं एक तरीका है जहाँ मैं संपत्ति के नाम पर पारित कर सकते हैं लिखने के लिए चाहते हैं और यह संपत्ति के मूल्य वापसी होगी। अर्थात्:
public static object GetPropertyValue(this object car, string propertyName)
{
return car.GetType().GetProperties()
.Single(pi => pi.Name == propertyName)
.GetValue(car, null);
}
और फिर:
public string GetPropertyValue(string propertyName)
{
return the value of the property;
}
नामक चर रखने की आवश्यकता नहीं है, ध्यान रखें कि चूंकि यह प्रतिबिंब का उपयोग करता है, यह बहुत धीमा है। शायद कोई मुद्दा नहीं, लेकिन इसके बारे में जागरूक होना अच्छा है। –
"स्ट्रिंग से बाइंडिंगफ्लैग में कनवर्ट नहीं किया जा सकता" – Hill
क्या @ मैटग्रेयर "तेज" तरीका है? – FizxMike