powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Создание PropertyChanged свойств
13 сообщений из 13, страница 1 из 1
Создание PropertyChanged свойств
    #39861550
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, день добрый.

Задалбывает постоянно создавать шаблонные свойства типа:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
private string _propertyName;

public string PropertyName
{
    get { return _propertyName; }
    set
    {
        if (_propertyName!= value)
        {
            _propertyName = value;
            OnPropertyChanged(() => PropertyName);
        }
    }
}
// Или
public string PropertyName
{
    get { return Model.PropertyName; }
    set
    {
        if (Model.PropertyName != value)
        {
            Model.PropertyName = value;
            OnPropertyChanged(() => PropertyName);
        }
    }
}


Можно ли как-то упростить этот механизм? Просто когда большие модели, это сильно вымораживает. Поделитесь опытом, пожалуйста.
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861565
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сниппеты тебе в помощь!
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861567
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или обычные свойства типа
Код: c#
1.
public string PropertyName { get; set; }

ты тоже руками набиваешь?
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861603
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

при нормальной скорости печати разница между снипитом и краткой формой свойства не сильно то большая.
вот propdp реально помогает, так как меня даже через снипет всё это вымораживает , так как наглядность кода ппц как страдает от такой монструозной конструкции
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861624
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesтак как меня даже через снипет всё это вымораживает , так как наглядность кода ппц как страдает от такой монструозной конструкцииА я себе этот сниппет поправил, сделал так, что остается только первая строка с именем и типов свойства, а остальное прячется в регион.

Кстати, и для вышеуказанных notify-свойств то же самое.

В итоге по две строки на каждое свойство, вполне себе компактно смотрится
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861650
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proили обычные свойства типа
Код: c#
1.
public string PropertyName { get; set; }

ты тоже руками набиваешь?

Всё ручками, печатаю быстро, просто задалбывает однообразие
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861710
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GitHub - Fody/PropertyChanged , уже не раз же здесь про эту штуку вспоминали.
А я сам налисапедил себе базовый класс, при наследовании от которого INPC-свойства объявляются примерно так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
[DefaultValue(true)]
public bool ProtectEnter
{
  get => Get(() => ProtectEnter);
  set => Set(() => ProtectEnter, value);
}

[DefaultValue(true)]
public bool ProtectSettings
{
  get => Get(() => ProtectSettings);
  set => Set(() => ProtectSettings, value);
}

[DependsOn(nameof(ProtectEnter))]
[DependsOn(nameof(ProtectSettings))]
public bool ProtectionEnabled => ProtectEnter || ProtectSettings;

[DependsOn(ProtectionEnabled)]
public ICommand EnterCommand { get; }
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861721
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

а мне так не нравится, код только усложняется, а не упрощается
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861724
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesСон Веры Павловны,

а мне так не нравится, код только усложняется, а не упрощается
Так - это как? С помощью Fody? Или моего велосипеда? И в чём сложность (в отличие от классического кода INPC-свойств)?
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861725
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныА я сам налисапедил себе базовый класс, при наследовании от которого INPC-свойства объявляются примерно так:ты практически заново придумал DependecyProperty )))
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861742
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProСон Веры ПавловныА я сам налисапедил себе базовый класс, при наследовании от которого INPC-свойства объявляются примерно так:ты практически заново придумал DependecyProperty )))
Да, я себя на такой мысли уже ловил )
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861743
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныShocker.Proпропущено...
ты практически заново придумал DependecyProperty )))
Да, я себя на такой мысли уже ловил )
И вот, кстати, закономерно вытекающий из этого факта вопрос: модель, у которой в иерархии наследования живёт DependencyObject - это нормально?
...
Рейтинг: 0 / 0
Создание PropertyChanged свойств
    #39861754
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныИ вот, кстати, закономерно вытекающий из этого факта вопрос: модель, у которой в иерархии наследования живёт DependencyObject - это нормально?модель чего? бизнес-логики - точно нет.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Создание PropertyChanged свойств
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]