隨着溫莎,我可以做到這一點:解決與Windsor的通用接口而不知道編譯時的類型?
var validators = container.ResolveAll<IEntityValidator<Product>>();
但我不知道在編譯類型。我需要的代碼更像這樣:
var type = obj.GetType();
var validators = container.ResolveAll<IEntityValidator<...type...>>();
很明顯,上面的代碼並不靠近正確的解決方案。我猜想有一些需要的重複魔法。如果它完全有可能與溫莎。是嗎?
這可能與我所能得到的相近。與'validator.GetType()。GetMethod(「Validate」)一起。調用(validator,new [] {obj});'它工作正常。但由於我必須使用反射來調用方法,而且我沒有很強的輸入,所以我可能會換個方式。但是,謝謝! – Allrameest 2011-04-21 15:34:03