因为您在创建测试类时注入了ILogger
和Itelementry
.当您想要一个实例时,还需要注入它们.
您可以try 以下代码.
Test.cs
public class Test
{
private readonly ILogger<Test> logger;
public Test(ILogger<Test> logger)
{
this.logger = logger;
}
public string Name { get; set; }
}
public class ValuesController : ControllerBase
{
private readonly ILogger<Test> logger;
public ValuesController( ILogger<Test> logger)
{
this.logger = logger;
}
[HttpGet("test")]
public void Method1()
{
var a = new List<Test>()
{
new Test(logger){Name="Tom"},
new Test(logger){Name="Kite"}
};
}
}
或者像这样
public class ValuesController : ControllerBase
{
private readonly List<Test> tests;
private readonly ILogger<Test> logger;
public ValuesController(ILogger<Test> logger)
{
this.tests = new List<Test>()
{
new Test(logger){Name="Tom"},
new Test(logger){Name="Kite"}
};
this.logger = logger;
}
[HttpGet("test")]
public void Method1()
{
Console.Write(tests);
}
}