Можно ли использовать методы BinaryFormatter Serialize / Deserialize для сериализации и десериализации класса, содержащего объекты пользовательского интерфейса? Я знаю, что это, вероятно, не рекомендуется, и действительно должны быть сериализованы только данные, но есть ли причина, по которой это не будет поддерживаться технически?
Скажем, например, у меня был такой класс, как:
public class MyClass
{
private List<UC1> _ucList1 = new List<UC1>();
private List<UC2> _ucList2 = new List<UC2>();
public MyClass() {}
}
В приведенном выше теоретическом классе UC1 и UC2 относятся к типу UserControl, то есть это список пользовательских элементов управления. Есть ли причина, по которой это не может быть десериализовано? Я провел некоторое тестирование и, похоже, сериализуется в массив байтов нормально, но процедура десериализации выдает исключение «Конец потока обнаружен до того, как синтаксический анализ был завершен».