如何使用 C#12 中传递给主构造函数的修改版本?

问题描述 投票:0回答:1

使用主构造函数可以消除很多繁忙的工作。但是,在使用它们时,您似乎需要按原样使用依赖项注入器传入的值。是否可以像使用传统构造函数方法时那样稍微修改一下?

这是一个例子

public class MyService
{
  private MySettings _settings;

  public MyService(IOptions<MySettings> mySettingsOptions)
  {
    _settings = mySettingsOptions.Value;
  }
}

使用主构造函数,它看起来像这样。您可以看到它小得多,但现在我需要在任何地方都使用

settings.Value
settings

public class MyService(IOptions<MySettings> settings)
{
}
c# .net-core
1个回答
0
投票

我发现处理这种情况的最好方法是引入一个第二类变量,如下所示。现在

_settings
可以在没有
Value
参考的情况下使用。

public class MyService(IOptions<MySettings> settings)
{
  private readonly MySettings _settings = settings.Value;
}
© www.soinside.com 2019 - 2024. All rights reserved.