簡體   English   中英

反序列化為其名稱空間已更改的類型

[英]Deserialize to type whose namespace has changed

使用.NET 4 / C#...

我需要反序列化包含名為ns1.X的類型的序列化表示的舊配置文件。 序列化已使用BinaryFormatter完成。

問題是,經過一輪重構后,類型X已被移動到不同的命名空間,比如說ns2.X。

我嘗試創建一個從ns2.X派生的新的空ns1.X類型,雖然這繞過了' 找不到類型ns1.X '錯誤,但反序列化對象中的屬性都是null 此外,在此過程中沒有調用ctors。

有什么建議?

您將需要使用ISerializationSurregate來實現這一目標。 這並不困難,傑夫里希特解釋得非常好。 我推薦他的書CLR Via c#3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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