YamlDotNetを使って詰まったところなどメモ
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
Author And Source
この問題について(YamlDotNetを使って詰まったところなどメモ), 我々は、より多くの情報をここで見つけました https://qiita.com/r-ngtm/items/a7164c60035335bdfb4e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .