1

我发现 C# 并没有直接支持 ini 文件,所以我继续摸索,找到了下面的库,叫做ini-parser。该用法显示了一个非常简单的示例,但由于某种原因,我无法让 Visual Studio 2010 喜欢它。如果我完全从他们网页上的 wiki 复制以下内容:

        IniParser.FileIniDataParser parser = new FileIniDataParser();
    IniData parsedData = parser.LoadFile("TestIniFile.ini");

我收到以下错误,带有下划线的parser部分parser.LoadFile()和以下错误:

错误 1 ​​字段初始化程序无法引用非静态字段、方法或属性 'WindowsFormsApplication1.Form1.parser' C:\Users\Support\Documents\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 28 30 WindowsFormsApplication1

我不确定它在说什么,或者如何解决它。其他人可以提供建议/解决方案吗?

4

2 回答 2

4

您正在尝试在字段初始化程序中执行此操作。不允许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");

(我假设您实际上不需要解析器来处理其他任何事情,因此使用字段是没有意义的。)

于 2013-04-26T19:51:47.940 回答
3

错误消息基本上是说您不能parser在类的字段初始化程序(的初始化程序)中使用(另一个字段parsedData)。

您必须将此逻辑放在构造函数中:

FileIniDataParser parser = new FileIniDataParser();
IniData parsedData;

public Form1()
{
    InitializeComponent();
    parsedData = parser.LoadFile("TestIniFile.ini");
}
于 2013-04-26T19:51:23.593 回答