, какого ада в отладке ты избежал.
Немного мимо, т.к. я не пользуюсь отладчиками. Только debug writes и матрёшечная система try с накоплением сообщения об ошибке.
когда сериализуется объект а его интерфейс содержит метод сериализации. Но вот сериализация самого интерфейса...
А по другому просто не бывает. Я шёл путём "наследовать все интерфейсы от базового, у которого есть метод "получить инстанс объекта".
Т.е. задача была решаема таким путём, когда ты сам создаёшь интерфейсы под сериализацию (в общем случае - нерешаема, т.к. за интерфейсом в общем случае может скрываться объект ОП, объект ЦПП или любая другая неведома зверушка).
Буханку хлеба можно превратить в троллейбус.
Но зачем?
В моём случае интерфейсы могли пригодиться для гуя и глобального ИИ, давая свободу от дерева наследования. Но впилить их смериализацию в мою перзистентную систему - это *такой* геморрой. Проще извратиться с наследованием от общего абстрактного предка и в уже в него него периодически пихать новые фичи, даже если их будет использовать 5% потомков. VMT потерпит, рожа не треснет.
А для физики и прочих оптимизированных вещей интерфейсы неоправданно толстые. Обёртки, подсчёт ссылок... Не, нуегона.