我在發現yaml和yamldotnet。很抱歉,如果這是一個非常基本的問題:YamlDotNet和自定義類型
它任何意義,定義使用驚歎號在YAML用戶定義的類型,如:
紅:顏色{紅:255,綠色:0,藍色:0}
YamlDotNet如何反序列化?換句話說,有沒有一種方法可以確保類型顏色映射到.net中相應的顏色類型?
從我的以下示例https://dotnetfiddle.net/HD2JXM的理解,YamlDotNet使用YAML文件和.NET類映射YAML屬性相應的類屬性(如在示例中所示,這可以通過註解來定製)之間的隱式對應。但是沒有進行類型檢查。
爲了進一步澄清事情。我有以下YAML文件,它對應於一組小部件:
controls:
- Button:
id: 1
text: Hello Button World
- Label:
id: 2
text: Hello Label World
- TextView:
id: 3
content: >
This is some sample text that will appear
in a text view.
而且我想它映射到在C#中相應類型的層次結構:
class AOPage
{
public IList<AOControl> Controls { get; set; }
}
class AOControl
{
public int Id { get; set;}
}
class AOLabel : AOControl
{
public String Text { get; set;}
}
class AOButton : AOControl
{
public String Text { get; set;}
}
class AOTextView : AOControl
{
public String Contents{ get; set;}
}
注意,也存在類似的問題海報在這裏:Using custom type resolver,這還沒有得到回答。
謝謝!
Antoine感謝您的反饋!根據您的建議,我想通過使用本地標籤嘗試一些稍微不同的顏色在YAML文件:! --- 顏色 紅:255 綠色:0 藍:0 但我GUET一個TypeException時我這樣做。 – BigONotation 2014-11-05 20:32:36