Можно ли восстановить данные, сериализованные через «BinaryFormatter», после изменения имен полей?

После решения проблемы Возможно ли восстановить сериализованный через BinaryFormatter объект после изменения имён классов? Я думал, что это будет так же просто, но потратил около получаса на поиск ответа, и, кажется, это не так...

Допустим, я сделал распространенную ошибку и объявил это в сериализуемом классе.

public bool Foo {get;set;}

И теперь я хочу, чтобы это было

public bool Foo {get {return _foo;} set {_foo = value; OnFooChanged()}}
private bool _foo;

Потому что мне нужно что-то сделать, когда он изменится.

Могу ли я каким-то образом перенаправить данные из «Foo» в «_foo» при десериализации точно так же, как я могу перенаправить классы с помощью SerializationBinder?


person Istrebitel    schedule 06.09.2014    source источник