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

  • AmeriiK_HD

    AmeriiK_HD

    16 AĞUSTOS 2012
  • finalcall07

    finalcall07

    11 NİSAN 2008
  • Good Creative Academy

    Good Creativ

    19 Kasım 2009