我正在尝试使用Ninject的ToFactory扩展,但遇到了一些问题。
如果我有这样的构造函数:
public ListenerReader(IDepen1 depen1, IDepen2 depen2, UdpClient client, DataReceiveModes dataReceiveMode, int receivePort)
{
}
然后我创建了一个工厂来自动创建这样的项目:
public interface IListenerReaderFactory
{
ListenerReader CreateListenerReader(UdpClient client, DataReceiveModes dataReceiveMode, int receivePort);
}
当我尝试呼叫注入的工厂时收到激活错误:
激活int时出错
没有匹配的绑定可用,并且该类型不可自我绑定。
似乎Ninject不喜欢在工厂中注入原始类型。我也看到了同样的错误,但是在另一家工厂使用了字符串类型?
如果这不起作用,我是否必须将参数分离为一个被调用的方法?
修改
看来有问题的类型是在工厂外注入的。因此,Ninject试图为失败的枚举和int类型创建绑定。
答案 0 :(得分:0)
问题是没有调用工厂,而是直接注入了类型。