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

  • Amazon Web Services

    Amazon Web S

    8 NİSAN 2009
  • jesiel santos

    jesiel santo

    15 Ocak 2009
  • Watcher3223

    Watcher3223

    15 Kasım 2007