为什么XML-Serializable类需要无参数构造函数
我正在编写代码以进行Xml序列化。具有以下功能。 public static string SerializeToXml(object obj) { XmlSerializer serializer = new XmlSerializer(obj.GetType()); using (StringWriter writer = new StringWriter()) { serializer.Serialize(writer, obj); return writer.ToString(); } } 如果参数是没有无参数构造函数的类的实例,则它将引发异常。 未处理的异常:System.InvalidOperationException:CSharpConsole.Foo无法序列化,因为它没有无参数的构造函数。在System.Xml.Serialization.TypeScope.GetTypeDesc(Type type,MemberInfo源,Boolean directReference,Boolean throwOnError)在System.Xml.Serialization.ModelScope.GetTypeModel(Type type, System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(Type type,XmlRootAttribute root,String defaultNamespace)在System.Xml.Serialization.XmlSerializer..ctor(Type type,String defaultName space)在System.Xml.Serialization。 XmlSerializer..ctor(类型类型) 为什么必须有一个无参数的构造函数才能使xml序列化成功? 编辑:感谢cfeduke的回答。无参数构造函数可以是私有的或内部的。