我正在创建的库DLL中有许多内部类。这些类可以通过一些公共方法进行访问。内部样本示例为;
internal class MyClass
{
internal int Id {get;set;}
internal string Name {get;set;}
}
我需要序列化对象,然后再返回到公共方法。我正在尝试使用XmlSerialise方法,例如
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(MyObject.GetType());
但是当我尝试这个时我得到了错误
错误,由于其保护级别而无法访问。仅公共类型可以处理
我如何克服这个问题,因为我想将这些内部类保留在库DLL中私有,并且只能使用公共方法对其进行访问。
使用XmlSerializer序列化内部类型
能够序列化内部类型是常见的请求之一由XmlSerializer团队看到。这是人们的合理要求运输库。他们不想使XmlSerializer类型只是为了序列化器而公开。