Поддерживает ли библиотека C# YamlDotNet ключ слияния?

У меня проблема с библиотекой C# YamlDotNet http://www.aaubry.net/page/YamlDotNet

Вы знаете, поддерживает ли библиотека "Ключ слияния"? http://yaml.org/type/merge.html

Это не похоже на работу для меня. В других библиотеках, таких как PyYaml, слияние работает нормально.

1 ответ

редактировать

YamlDotNet теперь поддерживает ключи слияния.

Пример:

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<Dictionary<string, Dictionary<string, string>>>(reader);

        var alias = result["alias"];
        Console.WriteLine("key1 = {0}", alias["key1"]);
        Console.WriteLine("key2 = {0}", alias["key2"]);
    }
}

Выход:

key1 = value1
key2 = Overriding key2

Ключи слияния (пока) не поддерживаются. Это запланированная функция, но прямо сейчас вам придется реализовать ее самостоятельно.

Другие вопросы по тегам