/
dOJer113
/
lab3_3
Обзор
Документация
Войти
/
dOJer113
/
lab3_3
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
UI/ViewModels/EditInsect/EditInsectViewModelBase.cs
40 строк
1 KB
aleks
comments
30 апр 2025, 18:27
30 апр 2025, 18:27
8414405
Код
Авторство
О чём код?
using System.Reactive; using insects; using ReactiveUI; namespace UI.ViewModels.EditInsect; public abstract class EditInsectViewModelBase<T> : ViewModelBase where T : AbstractInsect, new() { private readonly T? _originalInsect; private readonly T _editableInsect; public T EditableInsect { get; } public ReactiveCommand<Unit, T> ConfirmCommand { get; } public ReactiveCommand<Unit, Unit> CancelCommand { get; } /// <summary> /// Изменение абстрактного насекомого /// </summary> public EditInsectViewModelBase(T? parInsect) { _originalInsect = parInsect; EditableInsect = parInsect != null ? (T)parInsect.Clone() : new T(); ConfirmCommand = ReactiveCommand.Create(() => { if (_originalInsect != null) { EditableInsect.CopyTo(_originalInsect); return _originalInsect; } return EditableInsect; }); CancelCommand = ReactiveCommand.Create(() => { }); } }