2011-10-27 5 views
0

のXSDオブジェクトのシリアル化を生成:C#が、私はバッキングフィールドで、次のプロパティを持つ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; 

私はこれをgettin gはシリアライズプロセスで失われ、他の要素は正常です。このシリアライズを正しく行うためには何が必要ですか?

おかげ

答えて

3

あなたはおそらく、あなたのトランザクションクラスにDeliveryDateSpecifiedと呼ばれるプロパティがありますか?これは、あなたのDeliveryDateが必須ではないためです。これをtrueに設定すると、DeliveryDateもシリアル化されます。

+0

ああ、私は私がそれを行うために必要なわからなかったが、完璧な理にかなって – bobwah

+0

のXmlSerializerがnull非許容プロパティをシリアル化する必要があるかどうかを判断するために、指定されたプロパティを使用していただきありがとうございます。 –

関連する問題