#YamlDotNetとは
YamlをC#クラスに流し込むときに便利なライブラリ
VS2015のNuGetで YamlDotNet , YamlDotNet.Dynamic , YamlDotNet.Signedの3つをインストールすれば使えるようになります。
(2015/09/17現在)
#参考
YamlDotNet
http://aaubry.net/pages/yamldotnet.html
C#でYAMLを使えるか試してみたAdd Star
http://opcdiary.net/?p=25878
YamlDotNet - Deserializing an object graph by Antoine Aubry
https://dotnetfiddle.net/HD2JXM
#YamlDotNetを使っていて気づいたこと・詰まったところなどのメモ
・YAMLにあるキーの左隣の空白が半角スペース12個、インデントは半角スペース4個になっていないとデシリアライズに失敗する
・C#クラスのメンバ変数の型と対応するYAMLの値の型が異なるとデシリアライズに失敗する
・YAMLにあるキーの名前と同じ名前のpublic変数が無いとデシリアライズに失敗する.
ただし、YamlAlias属性を変数につけると名前が異なるYAMLキーとC#変数を結びつけることができる。
以下の二つは同じものであると解釈されるみたいです。
[YamlAlias("in")]
public int inParam;
>>```
public int in;
inなどのC#予約語を使いたいときなんかは便利ですね。
・yamlの末尾に...
をつける必要はない(つけていたほうが安全かも)
・値yes
,no
はstringと解釈される。 (C#クラス側の変数の型をboolにするとデシリアライズ失敗)
・デシリアライズしたいクラスの中に別のクラス・メソッドなどを定義してもOK
・YAMLのキーの並び順とC#クラスの変数の並び順番は異なっていてもOK