SORU
3 ŞUBAT 2009, Salı


Nasıl bir tamsayı numaralandırma değeri seri hale getirmek?

Bir tamsayı numaralandırma değeri benim seri hale getirmek istiyorum, ama ben tek isim olsun.

Burada (örnek) sınıf ve numaralama benim:

public class Request {
	public RequestType request;
}

public enum RequestType
{
	Booking = 1,
	Confirmation = 2,
	PreBooking = 4,
	PreBookingConfirmation = 5,
	BookingStatus = 6
}

Ve kodu (sadece yanlış yapmıyorum emin olmak için)

Request req = new Request();
req.request = RequestType.Confirmation;
XmlSerializer xml = new XmlSerializer(req.GetType());
StringWriter writer = new StringWriter();
xml.Serialize(writer, req);
textBox1.Text = writer.ToString();

This answer (Bir soru) çeteleler varsayılan olarak değer vermez seri hale getirmek için gereken işaret gibi görünüyor, ama bunu yapmak için görünmüyor. İşte benim çıkış:

<?xml version="1.0" encoding="utf-16"?>
<Request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <request>Confirmation</request>
</Request>

Bir koyarak değer olarak seri hale getirmek için mümkün olmuştur "[("X")]" her değer özniteliği, ama bu bana yanlış geliyor. XmlEnum

CEVAP
8 NİSAN 2009, ÇARŞAMBA


En kolay yolu [XmlEnum] özniteliği gibi kullanmak için

[Serializable]
public enum EnumToSerialize
{
    [XmlEnum("1")]
    One = 1,
    [XmlEnum("2")]
    Two = 2
}

Bu XML (üst sınıf CustomClass olduğunu söylüyorlar) gibi çok seri hale getirmek

<CustomClass>
  <EnumValue>2</EnumValue>
</CustomClass>

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ICON

    ICON

    19 EKİM 2011
  • Lena Danya

    Lena Danya

    11 NİSAN 2010
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009