0

我正在尝试使用 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

我的问题是两个方面:

  1. 如何解决上述错误?
  2. 有没有更有效的方式将插件导入 IoC 容器?
4

1 回答 1

1

Bind使用DI 容器的非泛型重载:

Bind(typeof(INodeTask), NodeTaskPlugin.GetType());
于 2013-05-02T12:16:07.590 回答