Mar*_*ldi 9 c# structuremap generics
我有一个通用接口,IValidator.我希望能够使用StructureMap来检索为给定类型T实现IValidator的所有类的列表.例如,
var PersonValidators = ObjectFactory.GetAllInstances<IValidator<Person>>();
var AddressValidators = ObjectFactory.GetAllInstances<IValidator<Address>>();
Run Code Online (Sandbox Code Playgroud)
我知道如何检索实现IValidator的所有类,但我需要通过type参数的类型对其进行过滤.
任何人都可以给我任何指导或建议吗?
谢谢.
Jos*_*gan 11
它的工作方式与您的示例完全相同.您只需确保实例已在容器中注册.一种方法是扫描类型:
ObjectFactory.Initialize(x =>
{
x.Scan(scan =>
{
scan.TheCallingAssembly();
scan.WithDefaultConventions();
scan.AddAllTypesOf<IValidator<Person>>();
scan.AddAllTypesOf<IValidator<Address>>();
});
});
var PersonValidators = ObjectFactory.GetAllInstances<IValidator<Person>>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5406 次 |
| 最近记录: |