SORU
28 EKİM 2008, Salı


Seri hale null bir int

Null bir int ile bir sınıf var mı? veri bir xml öğesi olarak seri hale getirmek için ayarlayın. Xml serialializer eğer değer boş ise öğesini seri hale getirmek onu kurmak için herhangi bir yolu var mı?

[Sistem.eklemeye çalıştım Xml.Seri hale getirme.XmlElement(IsNullable=false)] özniteliği, ama ben bir zamanı seri hale getirme istisna söyleyerek bir hata yansıtan yazın, çünkü "IsNullable olmayabilir ayarlamak için 'yanlış' için bir Null yazın. Kullanmayı düşünün 'Sistemi.Int32' ya XmlElement özniteliği IsNullable özelliği kaldırarak yazın."

[Serializable]
[System.Xml.Serialization.XmlRoot("Score", Namespace = "http://mycomp.com/test/score/v1")]
public class Score
{
    private int? iID_m;
    ...

    /// <summary>
    /// 
    /// </summary>        
    public int? ID 
    { 
        get 
        { 
            return iID_m; 
        } 
        set 
        { 
            iID_m = value; 
        } 
    }
     ...
}

Yukarıdaki sınıf için serailize

<Score xmlns="http://mycomp.com/test/score/v1">
    <ID xsi:nil="true" />
</Score>

Ama Kimlikleri için null öncelikle MSSQL Açık XML kullandığımda, 0 değerini döndürür, çünkü KİMLİK öğesi istiyorum, yerine gibi görünen bir öğe için boş değilim

CEVAP
29 EKİM 2008, ÇARŞAMBA


XmlSerializer ShouldSerialize{Foo}() desen destekleyen bir yöntemi ekleyebilirsiniz:

public bool ShouldSerializeID() {return ID.HasValue;}

Eğer XmlSerializer bir desteklerse de {Foo}Specified desen var - emin değilim.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • circuschina

    circuschina

    16 Mart 2007
  • KliptOut KwazeeKilla

    KliptOut Kwa

    24 ŞUBAT 2010
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÜL 2011