Cómo obtener el valor de una propiedad de un objeto por su nombre (cadena) mediante reflexión en C#?
¡Hola a todos! Soy nuevo en C# y me encontré con esta tarea: tengo una clase `Person` con varias propiedades (`Name`, `Age`, `Email`). Necesito escribir un método que tome un objeto de esta clase y una cadena — el nombre de la propiedad, y devuelva el valor de esa propiedad. Es decir, por ejemplo, paso `person` y `"Name"`, y obtengo `"John"`.
Sé que esto se puede hacer mediante reflexión (Reflection), pero no entiendo cómo hacerlo correctamente. Esto es lo que he intentado:
```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)
{
// ¿Cómo obtener el valor aquí?
// Intenté algo como obj.GetType().GetProperty(propertyName), pero no sé qué más hacer.
return null;
}
```
El problema es que no entiendo cómo llamar al getter de la propiedad si solo sé su nombre como cadena. ¿Es necesario considerar mayúsculas/minúsculas? ¿Qué pasa si la propiedad se llama de
No answers yet.
Inicia sesión para dejar una respuesta