问题
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/merge.html
This does not seem to work for me. In other libraries, like PyYaml the merge works fine.
回答1:
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<Dictionary<string, Dictionary<string, string>>>(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.
来源:https://stackoverflow.com/questions/18894610/does-c-sharp-yamldotnet-library-support-the-merge-key