c# – Autofac – 注册所有Windows窗体

有没有办法让Autofac自动注册我的程序集中的所有Windows窗体?此功能很可能类似于Autofac MVC支持注册所有控制器的能力?

现在,我这样做:

foreach (var type in Assembly.GetExecutingAssembly().GetTypesSafely().Where(type => type.IsSubclassOf(typeof(Form))))
    builder.RegisterType(type);
最佳答案
据我所知,没有内置方法来添加所有Win Forms.但你可以这样做.

var assembly = Assembly.GetExecutingAssembly();
builder.RegisterAssemblyTypes(assembly)
    .Where(type => type.IsSubclassOf(typeof(Form)));

转载注明原文:c# – Autofac – 注册所有Windows窗体 - 代码日志