All*_*est 3 .net c# reflection castle-windsor
有了温莎,我可以这样做:
var validators = container.ResolveAll<IEntityValidator<Product>>();
Run Code Online (Sandbox Code Playgroud)
但我不知道编译时的类型.我需要更像这样的代码:
var type = obj.GetType();
var validators = container.ResolveAll<IEntityValidator<...type...>>();
Run Code Online (Sandbox Code Playgroud)
显然,上面的代码并不接近正确的解决方案.我猜测需要一些完美的魔法.如果与温莎完全一致的话.是吗?
这可能不完全,但它可能接近你想要做的事情:
var typeParam = obj.GetType();
var type = typeof(IEntityValidator<>).MakeGenericType(typeParam);
container.Resolve(type);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1066 次 |
| 最近记录: |