C # сгенерированный объект XSD сериализации datetime - PullRequest
0 голосов
/ 27 октября 2011

У меня есть сгенерированный объект от запуска xsd.exe, который имеет следующее свойство с полем поддержки:

private System.DateTime deliveryDateField;

/// <remarks/>
public System.DateTime DeliveryDate 
{
    get 
    {
        return this.deliveryDateField;
    }
    set 
    {
        this.deliveryDateField = value;
    }
}

это сгенерировано из:

<xs:element name="DeliveryDate" type="xs:dateTime" minOccurs="0"/>

который я пытаюсь сериализовать, используя:

var t = new Transaction();
t.DeliveryDate = new DateTime(2011,11,11);
var xs = new XmlSerializer(t.GetType());

string outString;

using (var ms = new MemoryStream())
{
    xs.Serialize(ms, t);
    ms.Position = 0;
    using (var sr = new StreamReader(ms))
    {
       outString = sr.ReadToEnd();
    }
}
return outString;

Какое бы значение я ни установил, оно теряется в процессе сериализации, в то время как с другими элементами все в порядке. Что мне нужно сделать, чтобы получить правильную сериализацию?

Спасибо

1 Ответ

3 голосов
/ 27 октября 2011

Возможно, у вас также есть свойство DeliveryDateSpecified в вашем классе транзакций?Это потому, что ваша DeliveryDate не является обязательной.Если для этого параметра установлено значение true, ваша DeliveryDate также будет сериализована.

...