Ich habe gerade angefangen, mit Yaml zu arbeiten und würde wirklich etwas Input schätzen. Ich erstelle eine YAML und versuche, sie zu existierender C# -Klasse zu deserailisieren. Bestehende C# Klasse:Deserialisieren Yaml in C# -Objekt
[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;
}
}
Jetzt habe ich eine Yaml,
HeadType:
- Bar: 0
- Bar: 29
Wenn ich versuche, die oben Yaml deserialze, ich habe keine Fehler.
Aber wenn ich meine Yaml zu etwas wie unten ändern, weiß es nichts über das Tag Foo.
HeadType:
- Bar: 0
Foo: FooTest
Gibt es eine Möglichkeit, dies zu erreichen? Ich habe das, unter dem auch versucht doesnot Arbeit:
HeadType:
FooType:
- Bar: 0
Foo: FooTest
Ich verwende Yaml net Serialisierung „YamlDotNet.Serialization“ dot und das ist, wie die Serialisierung funktioniert:
Deserializer deserializer = new Deserializer();
var result = deserializer.Deserialize<RootType>(yamlInput1);
wo Root ist die Klasse enthält den HeadType.