Comment obtenir la valeur d'une propriété d'objet par son nom sous forme de chaîne via la réflexion en C# ?
Bonjour à tous ! Je suis débutant en C# et j'ai rencontré un problème : j'ai un objet de la classe Person, et je veux obtenir dynamiquement la valeur de ses propriétés, mais le nom de la propriété est passé sous forme de chaîne. Par exemple, l'utilisateur saisit "Name" ou "Age", et je dois retourner la valeur correspondante.
Voici ma classe :
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
```
Je crée un objet :
```csharp
var person = new Person { Name = "Иван", Age = 30, City = "Москва" };
string propertyName = "Name"; // ou "Age", "City"
```
Comment puis-je obtenir la valeur de person.Name si je ne connais que la chaîne "Name" ? J'ai entendu parler de la réflexion, mais je ne comprends pas comment l'appliquer. J'ai essayé quelque chose comme :
```csharp
var value = person.GetType().GetProperty(propertyName).GetValue(person);
```
Mais cela génère une erreur si la propriété n'existe pas. Comment gérer correctement ces cas ? Existe-t-il une méthode plus sûre ? Merci d'avance.