Это не отвечает на ваш вопрос, однако я, вероятно, посоветовал бы вам спроектировать ваш объект таким образом, чтобы он вызывал событие до (или после) изменения значения, чтобы ваш «менеджер отмены» мог быть уведомлен , Таким образом, ваша логика не привязана к сетке. Если в будущем вы будете использовать этот объект с чем-то другим, вы также можете уведомить других об изменении значения. Мои $ 0,02
Пример кода:
public class SomeClass
{
private int myInt;
public event EventHandler MyIntChanging;
public event EventHandler MyIntChanged;
protected void OnMyIntChanging()
{
var handler = this.MyIntChanging;
if (handler != null)
{
this.MyIntChanging(this, new EventArgs());
}
}
protected void OnMyIntChanged()
{
var handler = this.MyIntChanged;
if (handler != null)
{
this.MyIntChanged(this, new EventArgs());
}
}
public int MyInt
{
get
{
return this.myInt;
}
set
{
if (this.myInt != value)
{
this.OnMyIntChanging();
this.myInt = value;
this.OnMyIntChanged();
}
}
}
}