C# ini 解析器问题

标签 c# winforms visual-studio-2010 ini

我发现 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/

相关文章:

c# - 什么是NullReferenceException,如何解决?

html - Visual Studio 2010 中没有 HTML 页面的新窗口?

windows - 当前的 ankhsvn 版本与当前的 svn 兼容吗?版本

c# - 处理电子邮件时在 C# 中添加 HTML 属性

c# - 移动应用程序中的移动打印格式自定义

c# - 可用于帮助生成 HTML 的工具/SDK 有哪些?

c# - 编写仅包含 throw 语句的 catch block 是否有任何技术原因?

c# - 在 CheckedListBox 中显示友好名称

c# - 在 WinForms 的 ListView 中显示当前/选定的项目

c# - 如何将字符串的特定字符解析为整数?