Digamos, por ejemplo, tengo esta clase simple:Obtener PropertyInfo de propiedad en lugar del nombre
public class MyClass
{
public String MyProperty { get; set; }
}
La manera de conseguir el PropertyInfo para MyProperty sería:
typeof(MyClass).GetProperty("MyProperty");
Este apesta!
¿Por qué? Fácil: se interrumpirá tan pronto como cambie el nombre de la propiedad, necesita una gran cantidad de pruebas dedicadas para encontrar cada ubicación donde se usa una propiedad como esta, los árboles de refactorización y uso no pueden encontrar este tipo de acceso.
¿No hay alguna forma de acceder correctamente a una propiedad? Algo, que está validado en tiempo de compilación?
me gustaría un comando como este:
propertyof(MyClass.MyProperty);
Se pone peor. Si observa WPF, notará que requiere nombres de propiedad de cadena para el enlace de datos y también cuando implementa INotifyPropertyChanged. Este no es un caso de esquina para los usuarios de Reflection, sino el caso general de uso diario. Actualmente confío en Resharper para ayudar a mantener las cosas sincronizadas. –
Unitesting me ayudó mucho aquí, pero eso es todo ... – Enriquev
Pregunta de desbordamiento de pila relacionada con respuestas más detalladas: http://stackoverflow.com/questions/491429/how-to-get-the-propertyinfo-of-a- propiedad-específica –