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

  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • stokelycalm

    stokelycalm

    28 Aralık 2010
  • Tianna Sierra Dance

    Tianna Sierr

    16 EYLÜL 2013