我发现 C# 不直接支持 ini 文件,所以我继续四处寻找,发现了以下名为 ini-parser 的库.用法显示了一个非常简单的示例,但由于某种原因我无法让 Visual Studio 2010 喜欢它。如果我从他们网页上的 wiki 中准确复制以下内容:
IniParser.FileIniDataParser parser = new FileIniDataParser();
IniData parsedData = parser.LoadFile("TestIniFile.ini");
我收到以下错误,parser.LoadFile()
的 parser
部分带有下划线和以下错误:
Error 1 A field initializer cannot reference the non-static field, method, or property 'WindowsFormsApplication1.Form1.parser' C:\Users\Support\Documents\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 28 30 WindowsFormsApplication1
我不确定如何理解它所说的内容,或者如何解决它。其他人可以提供建议/解决方案吗?
最佳答案
您正在尝试在字段初始值设定项中执行此操作。不允许在实例字段初始化器中引用 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");
(我假设您实际上不需要解析器来处理其他任何事情,因此为其使用字段毫无意义。)
关于C# ini 解析器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16244145/