【发布时间】:2010-11-10 23:25:44
【问题描述】:
可能重复:
Why XML-Serializable class need a parameterless constructor
有谁知道是否可以防止从程序集范围之外调用公共构造函数?
我正在做的是提出一个具有 XML 可序列化类的类库。如果在不设置各种属性的情况下构造这些类,那么我想阻止这种状态。
我想知道是否有办法阻止任何人调用我的公共构造函数,并将其保留在那里仅用于序列化?
【问题讨论】:
-
是否要求构造函数是公开的,还是可以将它们设为内部的?
-
如果在基类中没有显式调用任何构造函数,则会隐式调用无参构造函数。没有办法解决它,如果不调用构造函数,您将无法实例化一个类。
-
检查这个答案:http://stackoverflow.com/questions/267724/why-xml-serializable-class-need-a-parameterless-constructor。您可以创建内部或私有构造函数并仍然使用 XML 序列化。
-
移除了无障碍标签,对这个问题无效。
-
为什么要公开构造函数,而要防止调用它?
标签: c# xml-serialization