我有一堂课
public class A
{
public A(IB b)
{
}
public void Method1()
{
}
}
Run Code Online (Sandbox Code Playgroud)
class Program
{
static void Main(string[] args)
{
var serviceProvider = new ServiceCollection()
.AddSingleton<IB,B>()
.BuildServiceProvider();
//How to call Method1 of classA
classA a = new classA();
}
}
Run Code Online (Sandbox Code Playgroud)
如何Method1()
从Main
方法调用?
我收到一个编译时错误,因为“不存在重载方法”。
应用程序中的 DI 需要在某处进行引导。例如,在 ASP.NET 中,这发生在框架内部,“看不见”。
在这里,您必须注册并解析 A 类:
static void Main(string[] args)
{
var serviceProvider = new ServiceCollection()
.AddSingleton<IB,B>()
.AddTransient<A>() // Transient or Singleton, it depends
.BuildServiceProvider();
//How to call Method1 of classA
// classA a = new classA();
var a = serviceProvider.GetRequiredService<A>();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
89 次 |
最近记录: |