Avatar ·

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...