【发布时间】:2016-08-27 04:06:49
【问题描述】:
我正在尝试将 autofac 添加到旧版 WinForms 应用程序以管理依赖项并使其更具可测试性。
我想知道是否可以在每次注入 Func 时创建一个新的 LifeTimeScope?
我目前有:
public static TForm ResolveFormWithScope<TForm>(this ILifetimeScope self)
where TForm : Form
{
ILifetimeScope formScope = self.BeginLifetimeScope("FormScope");
var form = formScope.Resolve<TForm>();
form.Closed += (s, e) => formScope.Dispose();
return form;
}
但理想情况下,我希望避免在我的表单中使用容器,而是使用委托工厂。
【问题讨论】: