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

  • Britec09

    Britec09

    4 Mart 2009
  • Jordie Jordan

    Jordie Jorda

    27 Ocak 2008
  • SamsTech

    SamsTech

    4 NİSAN 2014