This is the way how to do it with autofac

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

or

var assembly = Assembly.GetExecutingAssembly();
builder.RegisterAssemblyTypes(assembly)
    .AssignableTo<Form>();

How to do this with Castle Windsor ?

有帮助吗?

解决方案

Something like this should work (typing from memory):

container.Register(
   Classes.FromAssembly(Assembly.GetExecutingAssembly())
      .BasedOn<Form>()
      .Configure(c => c.Lifestyle.Transient)
);

The Configure option isn't required, but my win forms are usually transient.

Check out the registration docs for more options.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top