我正在尝试使用MEF将插件加载到DI框架中。有多种类型,例如:
ISocket
IBroadcastSocket
INodeTask
目前我已经以这种方式设置了我的代码:
[Import]
INodeTask NodeTaskPlugin { get; set; }
并试图像这样导入插件:
Injector.Instance.Bind<typeof(INodeTask), NodeTaskPlugin.GetType()>();
在尝试上面的代码行时,R#抱怨它无法找到正确的方法:
无法找到方法组。你打算调用这个方法吗?
以下是我希望使用的Bind
声明:
void Bind<TBase, TDerived>() where TDerived : TBase
我的问题是两个方面:
答案 0 :(得分:1)
使用DI容器的非通用Bind
重载:
Bind(typeof(INodeTask), NodeTaskPlugin.GetType());