我一直在关注复数视频并修改代码以适合我自己的应用程序 .

该课程在创建项目时使用ASP.NET CORE 2.0 . 我用2.1思考没有太大的区别 .

但是,我在两个版本中遇到了不同之处 .

•启动新项目:testcore2.0

•选择API和版本ASP.NET Core 2.0,单击“确定”然后启动并运行该项目

•添加Helpers文件夹

•在Helpers文件夹中,添加一个类:TestHelper.cs

•将字符串属性添加到TestHelper类

namespace TestCore20.Helpers
{
  public class TestHelper
  {
    public string TestString { get; set; } = "string";
  }
}

•在ValuesController.cs中,使用TestCore20.Helpers添加using子句;

using TestCore20.Helpers;

•在Get方法中,将TestHelper添加为参数在Get方法中添加一个字符串变量,该变量将在TestHelper中接收Teststring并在其上设置断点 .

[HttpGet]
public IEnumerable<string> Get(TestHelper th)
{
  string testString = th.TestString;

  return new string[] { "value1", "value2" };
}

如果您随后运行该项目,它将在断点处停止,您可以检查并确认它已启动 .

这一切都按预期工作 .

但是,如果我们重复新项目中的步骤并使用ASP.NET CORE 2.1,则该类将返回null引用 . 它没有初始化 .

如何让对象在ASP.NET CORE 2.1中初始化?