【发布时间】:2018-07-26 11:15:55
【问题描述】:
如何用 Autofac 语法复制这段代码?
public static class MenuConfig
{
public static void Initialize()
{
var _menuService = DependecyFactory.GetInstance<IMenuService>();
Parameters.Menu = _menuService.Menu();
}
}
在称其为“重复问题”之前,请注意我正在寻找 Autofac 命令。我不能在任何地方注入接口,然后调用“Resolve”。我需要做的是内联和未注入的“InstancePerRequest”,所以我不必这样做:
var _service = new Service(new Dependency(new context()));
LightInject 有一个方法允许从构造函数的接口 OUTSIDE 进行实例化,如下所示:
var _service = DependecyFactory.GetInstance<IService>();
Autofac的等效方法是什么?
【问题讨论】:
-
更具体地说明您要做什么...
-
构造函数之外是什么意思?你有一个构造函数,我想?而且你正在学习的课程可以在 Autofac 上注册,对吧?
-
这是一个边缘情况。我有一个静态类,在启动时需要数据库数据。我无法实例化静态类,因此我需要一种从我的服务中获取数据的方法。使用 LightInject,这很容易。我如何对 Autofac 做同样的事情?
-
你不能把那个静态类改成非静态类,然后注册为单例吗?