Does C# YamlDotNet library support the merge key?

前端 未结 1 392
半阙折子戏
半阙折子戏 2021-01-13 23:10

I have a problem with C# YamlDotNet library http://www.aaubry.net/page/YamlDotNet

Do you know if the library does support the \'Merge Key\' ? http://yaml.org/type/me

1条回答
  •  自闭症患者
    2021-01-13 23:39

    Edit

    YamlDotNet now has support for merge keys.

    Example:

    using System;
    using System.IO;
    using System.Collections.Generic;
    using YamlDotNet.Serialization;
    using YamlDotNet.Core;
    
    public class Program
    {
        public static void Main()
        {
            var yaml = @"
    anchor: &default
      key1: &myValue value1
      key2: value2
    alias:
      <<: *default
      key2: Overriding key2
      key3: value3
    ";
    
            var reader = new EventReader(new MergingParser(new Parser(new StringReader(yaml))));
    
            var deserializer = new Deserializer();
            var result = deserializer.Deserialize>>(reader);
    
            var alias = result["alias"];
            Console.WriteLine("key1 = {0}", alias["key1"]);
            Console.WriteLine("key2 = {0}", alias["key2"]);
        }
    }
    

    Output:

    key1 = value1
    key2 = Overriding key2
    

    Merge keys are not (yet) supported. It is a planned feature, but right now you will have to implement it yourself.

    0 讨论(0)
提交回复
热议问题