Если у меня есть класс Address, который реализует IEditableObject , у меня может быть EndEdit реализация, подобная этой:
public void EndEdit()
{
// BeginEdit would have set _editInProgress and save to *Editing fields
if (_editInProgress)
{
_line1 = _line1Editing;
_line2 = _line2Editing;
_city = _cityEditing;
_state = _stateEditing;
_postalCode = _postalCodeEditing;
_editInProgress = false;
}
}
Если есть исключение на _city , тогда _line1 , _line2 и, возможно, _city должны вернуться.
Эта проблема не ограничивается EndEdit , но, вероятно, встречается и в других местах.