Уведомить об изменении свойства
Это мой любимый вариант, потому что я часто им пользуюсь, и он выполняет для меня много работы.
Ярлык : npc
Доступно на : C # 2.0+, где разрешено выражение.
if (value != _$LOWEREDMEMBER$)
{
_$LOWEREDMEMBER$ = value;
NotifyPropertyChanged("$MEMBER$");
}
Макросы :
- MEMBER - Содержит имя типа элемента. Не редактируется. Примечание: убедитесь, что это первое в списке.
- LOWEREDMEMBER - значение MEMBER с первым символом в нижнем регистре. Не редактируется.
Использование : Внутри такого установщика свойств:
private string _dateOfBirth;
public string DateOfBirth
{
get { return _dateOfBirth; }
set
{
npc<--tab from here
}
}
Предполагается, что ваша поддерживающая переменная начинается с символа «_». Замените это тем, что вы используете. Также предполагается, что у вас есть метод изменения свойства примерно так:
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
На самом деле, версия, которую я использую, основана на лямбде (потому что я люблю свои лямбды!) И дает следующее. Принципы такие же, как указано выше.
public decimal CircuitConductorLive
{
get { return _circuitConductorLive; }
set { Set(x => x.CircuitConductorLive, ref _circuitConductorLive, value); }
}
Вот когда я не использую чрезвычайно элегантный и полезный PostSharp, чтобы выполнить всю работу INotifyPropertyChanged без каких-либо усилий .