我正在尝试研究如何自动注册通用抽象类或接口的实现。这是我的课程:
public abstract class AbstractValidator<T> : IValidator<T>
{
public void Validate(T)
{
...
}
}
public class CustomerValidator:AbstractValidator<Customer>
{
...
}
我正在尝试以下方法:
_container = new WindsorContainer();
_container.Register(
AllTypes.FromAssemblyContaining<ValidationPatterns>()
.BasedOn<IValidator>()
.WithService.Base()
}));
IValidator<Customer> val = _container.Resolve<IValidator<Customer>>();
任何提示都非常感谢。
干杯
答案 0 :(得分:6)
你很亲密。
应该是BasedOn(typeof(IValidator<>))
通用开放类型。
干杯。