簡體   English   中英

如何使用 yamldotnet 啟用解析 yaml ,它接受同名的列表和鍵值對?

[英]How to enable parsing yaml using yamldotnet which accepts both list and keyvalue pairs under same name?

我有一個 yaml,其中以下兩種格式都可以接受 -

  args:
    buildno: 1
    gitcommithash: cdc3b19

  args:
    - buildno=1
    - gitcommithash=cdc3b19

使用當前的YamlDotnet配置,

[YamlMember(Alias = "args")]
public Dictionary<string, string> Args { get; set; }

當 yaml 的格式為 no 時,我可以解析。 1. 如何修改我的YamlDotNet代碼以接受這兩種格式? 即接受列表以及 Args 字典?

最簡單的方法是創建一個實現IDictionary<string, string>IList<string>的 class 。 您可以嘗試從Dictionary<string, string>繼承並實現列表接口。 我認為從 IList 實現 Add 方法就足夠了,您可以在其中通過=字符拆分字符串並添加到字典中。

還有其他方法,但這是最簡單的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM