¿Existe alguna manera de continuar utilizando las propiedades implementadas automáticamente mientras se sigue produciendo un evento de cambio, como INotifyPropertyChanged, cuando se llama a Set?Propiedades implementadas automáticamente en C#
En lugar de:
private string _value;
public string Value
{
get
{
return this._value;
}
set
{
this._value = value;
this.ValueChanged(this,EventArgs.Empty);
}
}
¿Puedo hacer:
public string Value
{
get;
set
{
this.ValueChanged(this,EventArgs.Empty);
}
}
Aunque la incubadora se ve mal, ¿es posible hacer esto sin llenar mi clase con variables respaldo de la tienda?
ACTUALIZACIÓN: parece que no hay una solución estándar para mi objetivo perezoso, creo que la mejor solución es usar CodeRush o Resharper para generar todas mis tiendas de respaldo para mí.
Aunque puedo ver que esto va a funcionar, en realidad se parece más desordenado que el uso de variables respaldo tiendas – benPearce
benPearce: Una propiedad automática es para cuando no quiere escriba cualquier otro código en setter o getter. Si lo hace (como notificar cambios de propiedad), entonces necesita escribirlo. No estoy de acuerdo con el enfoque de PostSharp, pero ciertamente es una solución de algún tipo. Estoy bastante cómodo con el código que escribe manualmente las variables. –
sedoso: estoy de acuerdo contigo en el Postsharp, si bien es una solución, no estoy especialmente interesado en ella. – benPearce