2011-05-17 101 views
1

我需要序列化一定數量的數據並在第二次反序列化它們,全部使用XML格式。使用Type.FullName的XML序列化

此刻我正在使用Type.FullName信息以避免歧義並正確地通過反序列化過程。

但是,我想知道我的方法有多安全。舉例來說,當我看到一個字符串列表的全名,我得到

「System.Collections.Generic.List`1 [System.String,mscorlib程序,版本= 4.0.0.0,文化=中性,PublicKeyToken = b77a5c561934e089]]「

我的問題是,這個FullName在將來會改變的可能性有多大?我應該儘可能限制自己以簡化對象的序列化,以避免麻煩?

最好的問候, 安德烈

+0

您是否使用[XmlSerializer](http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx)類來序列化對象?爲什麼你必須使用反射? – 2011-05-17 17:59:46

+0

這是一個裝配合格的名字,當然不是全名嗎? – 2011-05-17 18:14:32

+0

這實際上是全名;泛型的全名並不是.NET最優雅的功能...... – carlosfigueira 2011-05-18 06:17:03

回答

1

它可能會在將來發生變化 - 因爲它已經從.NET 2.0(mscorlib,Version = 2.0.0.0,Culture ...)更改爲4.0。您可能需要考慮在序列化數據之前對類型名稱進行一些處理(例如,將List`1 [[something]轉換爲List),並在反序列化時執行反向處理(使用當前mscorlib版本的類型信息)數據。

0

這將是更好,如果您發佈的代碼的一部分,看你面對什麼樣的問題。 但因爲它似乎你沒有序列化名單

問候。