我運行了sgen
針對我的裝配,每公噸類型。我想從序列化中排除2種類型。我似乎無法找到辦法做到這一點。如何從序列化中排除特定類型?
我看到sgen
有一個/type
開關來指定一個特定的類型,但沒有排除一個特定的類型。
有沒有辦法從序列化中排除特定類型?
我運行了sgen
針對我的裝配,每公噸類型。我想從序列化中排除2種類型。我似乎無法找到辦法做到這一點。如何從序列化中排除特定類型?
我看到sgen
有一個/type
開關來指定一個特定的類型,但沒有排除一個特定的類型。
有沒有辦法從序列化中排除特定類型?
不知道你是否在尋找這個,但是你可以通過在類定義之前提及[NonSerialized]來從序列化中排除你自己的類。 所以,如果你想排除特定的類型,你將不得不從它繼承和創建自己的類
[NonSerialized]
public class Point
{
public int x, y;
}
這段代碼不應該編譯,因爲'NonSerialized'屬性的唯一目標是字段。 – tm1 2013-04-15 07:14:18
錯誤屬性'NonSerialized'在此聲明類型上無效。它只對'field'聲明有效。 – 2014-09-25 04:52:22
除了將要在不同的裝配,以排除類型,你不能從串行排除類型代。
您可以嘗試通過將該類標記爲internal
來更改要從Xml序列化中排除的類的訪問權限,則sgen.exe應跳過該類。
internal class NotToBeSerialized
{
...
}
也許我不明白你的問題,但'sgen'只生成序列化程序集。那裏有另外兩門課是什麼問題? – 2013-02-03 22:41:16