Esto es solo algo en lo que estaba pensando cuando estaba aprendiendo sobre atributos y estaba usando el INotifyPropertyChanged demasiado, es justo e idea y me gustaría escuchar algunas opiniones al respecto. (Lo sé esto requeriría algo de trabajo en el compilador y no en el lado del cliente)Uso de atributos ... INotifyPropertyChanged
Dado que INotifyPropertyChanged se usa con el mismo patrón la mayoría de las veces ... igual que llamar al método que activa el evento con el nombre de la propiedad, ¿podría diseñarse como Atributo y usar propiedades automáticas? ¿Para que el compilador sepa que necesita agregar la llamada al evento PropertyChanged? Así que si tenemos la clase ....
public class DemoCustomer : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
private string companyNameValue = String.Empty;
...
}
En lugar de declarar la propiedad
public string CompanyName
{
get
{
return this.companyNameValue;
}
set
{
if (value != this.companyNameValue)
{
this.companyNameValue = value;
NotifyPropertyChanged("CompanyName");
}
}
}
podríamos hacer algo como esto si podemos indicar al compilador de este atributo que necesita generar una llamada al PropertyChanged con el nombre de la propiedad si el nuevo valor es diferente de la anterior
[NotifyPropertyChanged]
public string CompanyName
{
get;set;
}
todavía podíamos mantener la codificación en t El viejo camino para algunos comportamientos personalizados cuando no se usa el Atributo.
Muy buena lectura ... Muchas gracias ... Empecé a usar postharp ... por eso estoy señalando la otra respuesta. Pero esto también es útil. – jmayor