C# में रिफ्लेक्शन के माध्यम से किसी ऑब्जेक्ट के प्रॉपर्टी का मान उसके नाम (स्ट्रिंग) से कैसे प्राप्त करें?
सभी को नमस्ते! मैं C# में नया हूँ और मुझे इस तरह की समस्या का सामना करना पड़ा: मेरे पास एक क्लास `Person` है जिसमें कई प्रॉपर्टीज़ (`Name`, `Age`, `Email`) हैं। मुझे एक मेथड लिखनी है जो इस क्लास का एक ऑब्जेक्ट और एक स्ट्रिंग — प्रॉपर्टी का नाम लेती है, और उस प्रॉपर्टी का मान लौटाती है। यानी, उदाहरण के लिए, मैं `person` और `"Name"` पास करता हूँ, और मुझे `"John"` मिलता है।
मुझे पता है कि यह रिफ्लेक्शन (Reflection) के माध्यम से किया जा सकता है, लेकिन मुझे समझ नहीं आता कि सही तरीके से कैसे करें। मैंने यह प्रयास किया:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Email { get; set; }
}
static object GetPropertyValue(object obj, string propertyName)
{
// यहाँ मान कैसे प्राप्त करें?
// मैंने कुछ इस तरह प्रयास किया: obj.GetType().GetProperty(propertyName), लेकिन आगे क्या करना है पता नहीं।
return null;
}
```
समस्या यह है कि मुझे समझ नहीं आता कि प्रॉपर्टी का गेटर कैसे कॉल करूँ, अगर मुझे केवल उसका नाम स्ट्रिंग के रूप में पता है। क्या केस (case) को ध्यान में रखना ज़रूरी है? अगर प्रॉपर्टी का नाम, उदाहरण के लिए, `IsActive` हो तो क्या करें?