1
我剛開始與Yaml合作,並且非常感激一些輸入。我正在創建一個YAML並試圖將其去除到現有的C#類中。 現有的C#類:將Yaml反序列化爲c#對象
[System.Xml.Serialization.XmlIncludeAttribute(typeof(FooType))]
public partial class BarType {
private int barVariable;
public Int Bar {
get {
return this.barVariable;
}
set {
this.barVariable = value;
}
}
}
public partial class FooType : BarType {
private string fooVariable;
public string Foo {
get {
return this.fooVariable;
}
set {
this.fooVariable = value;
}
}
[System.Xml.Serialization.XmlRootAttribute("HeadType", Namespace="xyz", IsNullable=false)]
public partial class HeadType {
private BarType[] barTypesField;
[System.Xml.Serialization.XmlArrayItemAttribute("FooService", typeof(FooType), IsNullable=false)]
public BarType[] BarTypes {
get {
return this.barTypesField;
}
set {
this.barTypesField = value;
}
}
現在我有一個YAML,
HeadType:
- Bar: 0
- Bar: 29
當我嘗試deserialze上述YAML,我沒有得到任何錯誤。
但是,當我將Yaml更改爲類似下面的內容時,它確實知道標籤Foo。
HeadType:
- Bar: 0
Foo: FooTest
有沒有辦法實現這一目標?我曾嘗試下面這也多年平均值的工作:
HeadType:
FooType:
- Bar: 0
Foo: FooTest
我使用的YAML點網系列化「YamlDotNet.Serialization」,這是序列化是如何工作的:
Deserializer deserializer = new Deserializer();
var result = deserializer.Deserialize<RootType>(yamlInput1);
其中root是類包含HeadType。