我有一个IWindsorInstaller类,我需要自动命名所有注册
public class ImportInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(
AllTypes
.FromAssemblyNamed("ByBox.Import")
.Where(type => type.Name.EndsWith("Importer") && type.IsClass && type.IsPublic)
);
}
}
我希望这个名字是类名。
所以,相当于为每个班级做这个......
container.Register(
Component.For<IMyImporter>()
.ImplementedBy<MyImporter>()
.Named("MyImporter")
);
有办法吗?
答案 0 :(得分:2)
...不确定
container.Register(
AllTypes
.FromAssemblyNamed("ByBox.Import")
.Where(type => type.Name.EndsWith("Importer") && type.IsClass && type.IsPublic)
.Configure(r => r.Named(r.Implementation.Name));
);