C# में रिफ्लेक्शन के माध्यम से किसी ऑब्जेक्ट के प्रॉपर्टी का मान उसके स्ट्रिंग नाम से कैसे प्राप्त करें?
सभी को नमस्ते! मैं C# में नया हूँ और मुझे एक समस्या का सामना करना पड़ा: मेरे पास Person क्लास का एक ऑब्जेक्ट है, और मैं इसके प्रॉपर्टी के मान को डायनामिक रूप से प्राप्त करना चाहता हूँ, लेकिन प्रॉपर्टी का नाम स्ट्रिंग के रूप में दिया जाता है। उदाहरण के लिए, उपयोगकर्ता "Name" या "Age" इनपुट करता है, और मुझे संबंधित मान लौटाना होता है।
यह मेरी क्लास है:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
```
मैं ऑब्जेक्ट बनाता हूँ:
```csharp
var person = new Person { Name = "Иван", Age = 30, City = "Москва" };
string propertyName = "Name"; // या "Age", "City"
```
मैं person.Name का मान कैसे प्राप्त करूँ, अगर मुझे केवल स्ट्रिंग "Name" पता है? मैंने रिफ्लेक्शन के बारे में सुना है, लेकिन समझ नहीं आता कि इसे कैसे लागू करूँ। मैंने कुछ इस तरह प्रयास किया:
```csharp
var value = person.GetType().GetProperty(propertyName).GetValue(person);
```
लेकिन अगर प्रॉपर्टी मौजूद नहीं है तो यह त्रुटि देता है। ऐसे मामलों को सही तरीके से कैसे संभालें? क्या कोई अधिक सुरक्षित तरीका है? पहले से धन्यवाद।