C# 用C解析一个简单的YAML文件#
我有如下所示的C# 用C解析一个简单的YAML文件#,c#,yaml,C#,Yaml,我有如下所示的YAML文件 Main: GPort: 1234 IPort: 3000 Prefix: "192.168.0" 我编写了以下函数来解析文件 public static ProgramConfiguration LoadConfiguration(string config) { var deserializer = new Deserializer(); StringReader sr
YAML
文件
Main:
GPort: 1234
IPort: 3000
Prefix: "192.168.0"
我编写了以下函数来解析文件
public static ProgramConfiguration LoadConfiguration(string config)
{
var deserializer = new Deserializer();
StringReader sr = new StringReader(config);
var result = deserializer.Deserialize<ProgramConfiguration>(sr);
ProgramConfiguration bc = new ProgramConfiguration();
return result;
}
函数LoadConfiguration抛出一个错误
在YamlDotNet.dll中发生“YamlDotNet.Core.YamlException”类型的未处理异常
在
var result=反序列化器。反序列化(sr)代码>
我做错了什么?你的意思是在类中使用“NetworkPrefix”,但在YAML文件中有“Prefix”?你缺少Main
元素-你应该尝试反序列化到class Config{public programmarconfiguration Main{get;set;}
非常类似,人们往往忘记反序列化根元素(在本例中,一个包含键Main
的映射和一个映射为值的映射,映射到ProgramConfiguration
类。您的意思是在类中使用“NetworkPrefix”,但在YAML文件中有“Prefix”?您缺少Main
元素-您应该尝试反序列化到class Config。){public programmarconfiguration Main{get;set;}}
非常类似,人们往往忘记反序列化根元素(在本例中,是一个包含键Main
的映射,以及一个映射为值的映射,映射到programmarconfiguration
类)。
public class ProgramConfiguration
{
public string Prefix { get; set;}
public int GPort { get; set; }
public int IPort { get; set; }
}