我发现C#没有直接支持ini文件,所以我继续徘徊,发现了以下名为ini-parser的库。用法显示了一个非常简单的示例,但由于某种原因,我不能让Visual Studio 2010喜欢它。如果我在他们的网页上完全从维基中复制以下内容:
IniParser.FileIniDataParser parser = new FileIniDataParser();
IniData parsedData = parser.LoadFile("TestIniFile.ini");
我收到以下错误,parser
的{{1}}部分带有下划线并出现以下错误:
错误1字段初始值设定项无法引用非静态字段, 方法或财产 'WindowsFormsApplication1.Form1.parser'C:\ Users \ Support \ Documents \ Visual 工作室 2010 \ Projects \ WindowsFormsApplication1 \ WindowsFormsApplication1 \ Form1.cs 28 30 WindowsFormsApplication1
我不知道该说些什么,或者如何解决它。其他人可以提出建议/解决方案吗?
答案 0 :(得分:3)
错误消息基本上是说您不能在类的字段初始值设定项(parser
的初始值设定项)中使用parsedData
(另一个字段)。
你必须把这个逻辑放在构造函数中:
FileIniDataParser parser = new FileIniDataParser();
IniData parsedData;
public Form1()
{
InitializeComponent();
parsedData = parser.LoadFile("TestIniFile.ini");
}
答案 1 :(得分:3)
您正尝试在字段初始值设定项中执行此操作。您不允许在实例字段initalizer中引用this
。改为在构造函数中执行:
private readonly IniData configuration;
public Form1()
{
InitializeComponent();
IniParser.FileIniDataParser parser = new FileIniDataParser();
configuration = parser.LoadFile("TestIniFile.ini");
}
或者只是内联而没有单独的解析器变量:
private readonly IniData configuration =
new FileIniDataParser().LoadFile("TestIniFile.ini");
(我假设你实际上并不需要其他任何解析器,因此使用一个字段毫无意义。)