Como obter o valor de uma propriedade de objeto pelo seu nome (string) através de reflexão em C#?
Olá a todos! Sou novo em C# e me deparei com a seguinte tarefa: tenho uma classe `Person` com várias propriedades (`Name`, `Age`, `Email`). Preciso escrever um método que recebe um objeto dessa classe e uma string — o nome da propriedade — e retorna o valor dessa propriedade. Ou seja, por exemplo, eu passo `person` e `"Name"`, e recebo `"John"`.
Eu sei que isso pode ser feito através de reflexão (Reflection), mas não entendo como fazer corretamente. Aqui está o que tentei:
```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)
{
// Como obter o valor aqui?
// Tentei algo como obj.GetType().GetProperty(propertyName), mas não sei o que fazer em seguida.
return null;
}
```
O problema é que não entendo como chamar o getter da propriedade se sei apenas o nome dela como string. É necessário considerar maiúsculas/minúsculas? E se a propriedade se chamar...
No answers yet.
Faça login para deixar uma resposta