我已经创建了一个 ISearchable 接口(interface),我已经输入了它,以便我可以为结果检索 T 的 IEnumerable。

我有许多服务为不同的域对象实现 ISearchable ...

Container.RegisterType<ISearchable<Animal>, AnimalService>();
Container.RegisterType<ISearchable<Fish>, FishService>();

我想解决(通过 Unity)基于类型的 ISearchable,但我正在努力让它工作......

以下内容无法编译,但希望能够让我了解我正在努力实现的目标。
Type t = typeof(Animal);
var searchProvider = _container.Resolve<ISearchable<t>>();

任何帮助感激收到!

谢谢,

安迪

最佳答案

终于整理好了,希望对大家有帮助!

var type = filter.GetType();
var genericType = typeof(ISearchable<>).MakeGenericType(type);
var searchProvider = _unityContainer.Resolve(genericType);

关于c# - Unity Container - 将 T 动态传递给 Resolve 方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1120421/

10-13 01:34