以下にこのオブジェクトがあります。xml からの逆シリアル化のために正しくマークしようとしています。WCFを使用しています。
[DataContract(Name="Task")]
public partial class Task
{
[DataMember]
public string prop1
{ get; set; }
[DataMember]
public ChildrenProps ChildProp1{ get; set; }
}
[DataContract]
public partial class ChildrenProps
{
[DataMember]
public ConfigurationSettings Prop1
{ get; set; }
[DataMember]
public ConfigurationSettings Prop2
{ get; set; }
}
[DataContract]
public partial class ConfigurationSettings
{
[DataMember]
public string Value
{ get; set; }
}
ここに XML があります。
<Task>
<prop1>aaaaa</prop1>
<ChildProp1>
<Prop1>bbbbbb</Prop1>
<Prop2>cccccc</Prop2>
</ChildProp1>
</Task>
このメソッドを逆シリアル化に使用しています
public T Deserialization<T>()
{
var reader = new StringReader(configuration);
var serializer = new XmlSerializer(typeof(T));
var instance = (T)serializer.Deserialize(reader);
return instance;
}
Child 要素では機能せず、オブジェクトで null を返しますが、他のすべての要素では機能します。これを正しくマークするための助けは大きな助けになります。