簡體   English   中英

XML序列化 - 序列化用戶控件中的屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM