Neden XML seri hale getirilebilir sınıfı parametresiz bir kurucu lazım
Kod Xml serileştirme yapmak için yazıyorum. Fonksiyonu ile aşağıda.
public static string SerializeToXml(object obj)
{
XmlSerializer serializer = new XmlSerializer(obj.GetType());
using (StringWriter writer = new StringWriter())
{
serializer.Serialize(writer, obj);
return writer.ToString();
}
}
Eğer argüman parametresiz kurucu olmadan sınıfının bir örneği, bir özel durum.
İşlenmeyen Özel Durum: Sistem.Invalidoperationexception: CSharpConsole.Foo olamaz seri hale getirilmek bir olmadığından parametresiz kurucu. at Sistem.Xml.Seri hale getirme.TypeDesc.()CheckSupported at Sistem.Xml.Seri hale getirme.TypeScope.(Tip GetTypeDesc , sourc e, Boolean tip Biri directReference, Boolean throwonerrorise) at Sistem.Xml.Seri hale getirme.ModelScope.(Tip GetTypeModel yazın, Boolean doğrudan Başvuru) Sistem.Xml.Seri hale getirme.XmlReflectionİmporter.(Tip İmportTypeMapping yazın XmlRootAttribute kök, String defaultNamespace) Sistem.Xml.Seri hale getirme.XmlSerializer..decimal(Yazın türü, Dize defaultName alanı) Sistem.Xml.Seri hale getirme.XmlSerializer..decimal(Yazın türü)
Neden xml serileştirme başarılı olmak için izin vermek için parametresiz bir yapıcı olmalı?
EDİT: cfeduke cevap için teşekkürler. Parametresiz yapıcı özel veya dahili olabilir.
CEVAP
Sırasında bir nesnenin de-serileştirme, sınıfı sorumlu de-seri hale getirilirken bir nesne oluşturur bir örneğinin sıralanmış sınıf ve gelirleri doldurmak için seri alanları ve özellikleri sonra elde örneğine doldurmak.
Senin oluşturucu Eğer isterseniz private
internal
, parametresiz sürece yapabilirsiniz.
Neden'XML seri hale getirilebilir...
Neden Java seri hale getirilebilir ara...
Neden HttpServlet seri hale getirilebi...
Ne zaman ve neden varlıklar seri hale ...
Sınıf JSON seri hale getirilebilir nas...