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

  • Engadget

    Engadget

    18 EYLÜL 2006
  • Kamikazeepanda

    Kamikazeepan

    5 ŞUBAT 2006