我正在创建的库DLL中有许多内部类。这些类可以通过一些公共方法访问。示例内部类是;
internal class MyClass
{
internal int Id {get;set;}
internal string Name {get;set;}
}
我需要在返回public方法之前序列化该对象。我正在尝试使用像
这样的XmlSerialise方法System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(MyObject.GetType());
但是当我尝试这个时,我得到了错误
错误由于其保护级别无法访问。只能处理公共类型
我如何克服这个问题,因为我想在库DLL中保持这些内部类是私有的,并且它们只能使用公共方法进行访问。
答案 0 :(得分:3)
使用XmlSerializer序列化内部类型
此处的解决方案:http://blogs.msdn.com/b/sowmy/archive/2008/10/04/serializing-internal-types-using-xmlserializer.aspx
能够序列化内部类型是常见的请求之一 由XmlSerializer团队看到。这是人们的合理要求 运输图书馆。他们不想制作XmlSerializer类型 公正只是为了序列化。