Winforms 温莎城堡-注册所有Windows窗体

Winforms 温莎城堡-注册所有Windows窗体,winforms,castle-windsor,autofac,Winforms,Castle Windsor,Autofac,这是使用autofac的方法 var assembly = Assembly.GetExecutingAssembly(); builder.RegisterAssemblyTypes(assembly) .Where(type => type.IsSubclassOf(typeof(Form))); 或 var assembly=assembly.getExecutionGassembly(); builder.RegisterAssemblyTypes(程序集) .可转让给(

这是使用autofac的方法

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

var assembly=assembly.getExecutionGassembly();
builder.RegisterAssemblyTypes(程序集)
.可转让给();

如何使用Castle Windsor执行此操作?

类似的操作应该可以(从内存中键入):

container.Register(
Classes.FromAssembly(Assembly.getExecutionGassembly())
.BasedOn()
.Configure(c=>c.lifesture.Transient)
);
Configure
选项不是必需的,但我的win表单通常是暂时的

查看更多选项

var assembly = Assembly.GetExecutingAssembly();
builder.RegisterAssemblyTypes(assembly)
    .AssignableTo<Form>();
container.Register(
   Classes.FromAssembly(Assembly.GetExecutingAssembly())
      .BasedOn<Form>()
      .Configure(c => c.Lifestyle.Transient)
);