Недавно я внедрил функцию копирования и вставки в приложение, над которым я работаю.Это работает почти так же, как и предполагалось.
Я создаю новый элемент в своем пользовательском интерфейсе и могу копировать и вставлять его так часто, как я хочу, без каких-либо проблем.
Но когда я копирую и вставляю элемент, созданный предыдущей копией и вставкойдействие, я получаю SerializationException
.Он жалуется на то, что определенный тип не помечен как сериализуемый.
Именно здесь начинается путаница.Первое действие копирования и вставки взаимодействует с объектами того же типа, что и второе.Но второе приводит к исключению.
Чтобы быть более подробным, у меня есть класс Slide
, это класс, который является целью операции копирования и вставки.Итак, я помещаю экземпляр этого объекта в буфер обмена и снова вставляю его в тот же контейнер.Это работает как задумано.Теперь я копирую этот вставленный объект и пытаюсь вставить его.Это когда исключение выдается.Исключение жалуется на класс SlideEditorUi
.SlideEditorUi
- это UserControl
, который взаимодействует с классом с именем SlideEditor
.Который в свою очередь взаимодействует с экземпляром Slide
.Но ни у одного экземпляра Slide
нет ссылки на какой-либо из упомянутых классов.
Поэтому мне действительно интересно, почему процедура сериализации учитывает этот класс.И почему это происходит только тогда, когда я копирую копию?