Por favor tengan paciencia si esta pregunta no está bien formulada. No saber es parte del problema.Se refiere a la propiedad en C#. ¿Reflexión? ¿Genérico? ¿Tipo?
Un ejemplo de lo que me gustaría lograr se puede encontrar en PropertyChangedEventArgs en WPF. Si desea bandera que una propiedad ha cambiado en WPF, lo haces de esta manera:
PropertyChanged(this, new PropertyChangedEventArgs("propertyName"));
pasa una cadena a PropertyChangedEventArgs que se refiere al nombre propiedad que cambió.
Puede imaginarse que realmente no quiero cadenas codificadas para nombres de propiedades en todo mi código. Refactor-rename lo echa de menos, por supuesto, lo que lo hace no solo estéticamente desagradable sino también propenso a errores.
Preferiría mucho referirse a la propiedad en sí ... de alguna manera.
PropertyChanged(this, new PropertyChangedEventArgs(?SomeClass.PropertyName?));
Parece que debería poder envolver esto en un método breve que me permita decir algo como lo anterior.
private void MyPropertyChanged(??) {
PropertyChanged(this, new PropertyChangedEventArgs(??.ToString()??));
}
... so I can say something like:
MyPropertyChanged(Person.Name); //where I'm interested in the property *itself*
Hasta ahora estoy dibujando un espacio en blanco.
ver también http://stackoverflow.com/questions/388775/how-do-i-get-the-name-of-a-property-from-a-property-in-c-2-0 –
http : //weblogs.asp.net/cazzu/archive/2006/07/06/Linq-beyond-queries_3A00_-strong_2D00_typed-reflection_2100_.aspx –
posible duplicado de [Obtener el nombre del método y el tipo utilizando la expresión lambda] (http://stackoverflow.com/questions/273941/get-method-name-and-type-using-lambda-expression) – nawfal