Powiadom właściwość o zmianie
To jest mój ulubiony, ponieważ często go używam i robi za mnie dużo pracy.
Skrót : npc
Dostępne w : C # 2.0+, gdzie wyrażenie jest dozwolone.
if (value != _$LOWEREDMEMBER$)
{
_$LOWEREDMEMBER$ = value;
NotifyPropertyChanged("$MEMBER$");
}
Makra :
- MEMBER - zawierający nazwę typu członka. Nie można edytować.Uwaga: upewnij się, że ten jest pierwszy na liście.
- LOWEREDMEMBER - wartość MEMBER z pierwszym małym znakiem. Nie można edytować.
Użycie : Wewnątrz ustawiacza właściwości, takiego jak ten:
private string _dateOfBirth;
public string DateOfBirth
{
get { return _dateOfBirth; }
set
{
npc<--tab from here
}
}
Zakłada się, że zmienna zapasowa zaczyna się od „_”. Zastąp to czymkolwiek używasz. Zakłada się również, że masz metodę zmiany właściwości, podobną do tej:
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
W rzeczywistości wersja tego, której używam, jest oparta na lambdzie („bo kocham swoje lambdy!) I tworzy poniższe. Zasady są takie same jak powyżej.
public decimal CircuitConductorLive
{
get { return _circuitConductorLive; }
set { Set(x => x.CircuitConductorLive, ref _circuitConductorLive, value); }
}
To znaczy , kiedy nie używam niezwykle eleganckiego i użytecznego PostSharp do wykonania całej operacji INotifyPropertyChanged bez żadnego wysiłku .