private void ParseToCSharp(YamlMappingNode mapping, CSharpClass csharpClass) { foreach (var temp in mapping.Children) { var key = temp.Key; var value = temp.Value; if (value.NodeType == YamlNodeType.Scalar) { csharpClass.CSharpNodeList.Add(new CSharpProperty() { Key = key.ToString(), Value = value.ToString() }); } else if (value.NodeType == YamlNodeType.Mapping) { var innerClass = new CSharpClass(); csharpClass.CSharpNodeList.Add(innerClass); innerClass.Value = key.ToString(); ParseToCSharp((YamlMappingNode)value, innerClass); } else { } } }
public CSharpClass ParseToCSharpClass(YamlStream yamlStream) { var mapping = (YamlMappingNode)yamlStream.Documents[0].RootNode; var csharpClass = new CSharpClass(); ParseToCSharp(mapping, csharpClass); return(csharpClass); }
internal string ParseCSharpClassToDictionary(CSharpClass csharpClass) { var prefix = ValuePrefix; var str = new StringBuilder(); foreach (var csharpNode in csharpClass.CSharpNodeList) { Parse(csharpNode, prefix, str); } return($@" new Dictionary<string, string>() {{ {str} }}"); }