字段初始值设定项不能引用非静态字段、方法或 属性 'MyController._config'

A field initializer cannot reference the non-static field, method, or property 'MyController._config'

我正在尝试从 appsettings 获取价值到 .Net Core 3.1 MVC 中的 MyController。在这里,我需要通过以下方式实现这一点:

public class MyController : Controller
{
    private IConfiguration _config;

    public MyController(IConfiguration config)
    {
        _config = config;
    }

    public string apiURL = _config.GetValue<string>("AppSettings:MMServiceURL");
}

appsettings.json

{
    "AppSettings": {
        "MMServiceURL": "http://localhost:57645/api/",
    }
}

但是当我尝试这样做时,出现以下错误。

A field initializer cannot reference the non-static field, method, or property 'MyController._config'

enter image description here

将您的字段更改为 属性,如下所示:

public string apiURL => _config.GetValue<string>("ServiceURL");

使用 = 时,您正在创建一个字段。

当使用 => 时,您正在创建一个 get-only 属性。