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

  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • WhtButterflyLiz

    WhtButterfly

    14 NİSAN 2008