![](/img/trans.png)
[英]XML Serialization Issue - Object Will Serialize But Not Deserialize Some Properties
[英]XML Serialization – serialize the properties in user control
如何序列化用戶控件中的屬性?
我嘗試了以下代碼,但我得到了InvalidOperationExceptio,同時創建了XmlSerializer對象
MyUserControl userControl = new MyUserControl();
XmlSerializer serializer = new XmlSerializer(typeof(MyUserControl));
Stream stream = new MemoryStream();
TextWriter writer = new StreamWriter(stream);
serializer.Serialize(writer, userControl);
例外:
System.InvalidOperationException未處理
的HResult = -2146233079
消息=反映類型'Demo.MyUserControl'時出錯。
你不應該像這樣恕我直言。
您應該編寫一個單獨的“數據傳輸對象(DTO)”樣式類來保存要序列化的數據,並使用它來代替。 (當然,您需要編寫Transform方法來來回轉換數據。)
否則,您將數據存儲格式與用戶控件緊密耦合。
如果使用單獨的類進行序列化,則會使其更易於管理和靈活,尤其是在將來需要添加新屬性時。
如果你真的必須序列化用戶控件(我強烈建議你不要 ),你可以嘗試使用DataContract序列化 ,它具有“選擇加入”機制,其中屬性被序列化,而不是“選擇退出”機制較舊的序列化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.