
Код | public class Graph : UserControl { ... public void Serialize(string FileName) { XmlSerializer xmls = new XmlSerializer(typeof(UserControl)); TextWriter writer = new StreamWriter(FileName); xmls.Serialize(writer, this); writer.Close(); } }
|
Код | System.InvalidOperationException: Возникла ошибка при отражении типа "System.Windows.Forms.UserControl". ---> System.InvalidOperationException: Не удается сериализовать член "System.ComponentModel.Component.Site" типа "System.ComponentModel.ISite". Дополнительные сведения см. во внутреннем исключении. ---> System.NotSupportedException: Невозможно сериализовать член System.ComponentModel.Component.Site типа System.ComponentModel.ISite, т.к. он является интерфейсом.
|
Как правильно сериализовать? Или надо использовать DesignerSerializer?
Код | [DesignerSerializer("System.Windows.Forms.Design.ControlCodeDomSerializer, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.ComponentModel.Design.Serialization.CodeDomSerializer, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] public class Control : Component, IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, IComponent, IDisposable { ... }
|
http://msdn.microsoft.com/en-us/library/system.componentmodel.design.serialization.codedomserializer.aspx |