依赖注入控制台应用程序

Sky*_*ell 0 .net c# dependency-injection console-application autofac

我们使用Autofac在我们的Web应用程序中执行一些简单的依赖注入.它都是在幕后操作的类中配置和注册的.它使得我们项目中的注入东西很容易,就像这样:

//interface
public interface ISuperHereService
{ }

//class that uses the interface
public class SuperHeroFactory
{
    public ISuperHeroService SuperHeroService { get; }

    public SuperHeroFactory(ISuperHeroService superHeroService)
    {
       SuperHeroService = superHeroService;

       ...do all our stuff...
Run Code Online (Sandbox Code Playgroud)

但是现在我不得不创建一个单独的项目作为控制台应用程序.我的控制台应用程序有一个Main方法.

我完全不确定如何在Main方法中注入接口.

这可能吗?

谢谢!

Sco*_*nen 6

Main(或在调用的方法中Main)创建和配置容器.然后SuperHeroFactory从容器中解析一个实例并调用您需要的任何方法.

有人可能会反对您不应该直接从容器中解决任何问题.这是真的,但Main你的作品是根.这是我们应该引用容器的地方,所以它适合那里.