我在嘗試將xml序列化到xml後遇到問題,因爲我將它從public
更改爲internal
。在我改變保護級別之前,它工作正常,所以我正在尋找一種方法來解決公共唯一的限制。內部類到xml的序列化
我希望它是內部的原因是我將該類移動到一個庫中,並且它在庫之外沒有用。
類佈局的一個簡單的例子:
[Serializable]
internal class InternalSerializable
{
[XmlAttribute]
public int Foo = 5;
public InternalSerializable()
{
}
}
通常XmlSerializer
自動生成和具有隨機組件的名字,所以我嘗試使用sgen.exe
預先生成XmlSerializer的,並使用引用它:
[assembly: InternalsVisibleTo("FileFormats.XmlSerializers")]
但當運行sgen與/verbose
切換它說,只有公共類型可以處理。
所以我想知道如果有人知道如何欺騙sgen處理內部類型或以其他方式序列化內部類?
編輯:我有好幾個班,這個問題,所以我寧願不重寫整個事情
[如何-可以-i的序列化內部類-使用-XmlSerializer的(可能重複http://stackoverflow.com/ questions/6156692/how-can-i-serialize-internal-classes-using-xmlserializer) – nawfal 2014-07-09 11:54:43