SORU
6 Kasım 2008, PERŞEMBE


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
6 Kasım 2008, PERŞEMBE


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007
  • steven johns

    steven johns

    11 Mart 2011
  • Tina Chen

    Tina Chen

    26 Mayıs 2012