Notificar cambio de propiedad
Este es mi favorito porque lo uso a menudo y me resulta muy útil.
Atajo : npc
Disponible en : C # 2.0+ donde se permite la expresión.
if (value != _$LOWEREDMEMBER$)
{
_$LOWEREDMEMBER$ = value;
NotifyPropertyChanged("$MEMBER$");
}
Macros :
- MIEMBRO: contiene el nombre del tipo de miembro. No editable. Nota: asegúrese de que este sea el primero en la lista.
- LOWEREDMEMBER: valor de MEMBER con el primer carácter en minúsculas. No editable.
Uso : Dentro de un establecedor de propiedades como este:
private string _dateOfBirth;
public string DateOfBirth
{
get { return _dateOfBirth; }
set
{
npc<--tab from here
}
}
Asume que su variable de respaldo comienza con un "_". Reemplaza esto con lo que uses. También asume que tiene un método de cambio de propiedad similar a este:
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
En realidad, la versión de esto que uso está basada en lambda (¡porque me encantan mis lambdas!) Y produce lo siguiente. Los principios son los mismos que los anteriores.
public decimal CircuitConductorLive
{
get { return _circuitConductorLive; }
set { Set(x => x.CircuitConductorLive, ref _circuitConductorLive, value); }
}
Ahí es cuando no estoy usando PostSharp extremadamente elegante y útil para hacer todo el proceso de INotifyPropertyChanged sin esfuerzo , es decir.