Вопрос

В чем разница между IeditableObject а также IrevertiblechangeTracking (оба из пространства имен System.componentModel)? Это выглядит так, как будто первая поддерживает явную транзакцию, в то время как вторая - более неявная - но чистый результат одинаков. Как мне реализовать это в коде? На данный момент я ничего не делаю в Начнут и позвонить Отказ отказаться а также Принять чауч в Конец а также Отменен соответственно. Моя проблема в том, что это также примет изменения, внесенные до начала.

Это действительно то, что хотела Microsoft или я пытаюсь реализовать два взаимоисключающих интерфейса?

Это было полезно?

Решение

Два интерфейса не являются взаимоисключающими. Они есть Просто предназначен для поддержки разных, но несколько связанных сценариев, который может быть реализован тем же данным классом. Вот быстрое объяснение:

EeditableObject Interface

А IeditableObject Интерфейс предназначен для поддержки сценария, в котором объект должен Управляйте своим внутренним состоянием каким -то определенным образом, когда оно редактируется.

По этой причине интерфейс включает в себя методы, которые явно отмечают, когда этап редактирования запускается, завершена или прервана, чтобы можно было предпринять соответствующие действия для изменения состояния объекта на этих этапах.


IrevertiblechangeTracking Interface

А IrevertiblechangeTracking Интерфейс предназначен для поддержки сценария, в котором объект должен иметь возможность Откат к своему предыдущему состоянию.

Интерфейс имеет методы, которые отмечают, когда текущее состояние объекта должно быть сделано постоянным, или его следует возвращать в последнее известное постоянное состояние.

Другие советы

IeditableObject используется для краткосрочных изменений, таких как диалоговые окны.

IrevertiblechangeTracking используется для долгосрочных изменений, таких как редактирование записи и отслеживание того, нужно ли сохранена запись.

Я часто внедряю оба интерфейса, так что у меня есть возможность поддерживать два уровня отмены.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top