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

  • InfoPuppet

    InfoPuppet

    15 Kasım 2011
  • Michelle Phan

    Michelle Pha

    18 Temmuz 2006
  • Blu animations and other videos

    Blu animatio

    15 HAZİRAN 2007