我正在尝试为 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);
}
当我尝试调用注入(inject)的工厂时收到激活错误:
激活 int 时出错
没有匹配的绑定(bind)可用,并且该类型不可自绑定(bind)。
Ninject 似乎不喜欢在工厂中注入(inject)原始类型。我也看到了同样的错误,但字符串类型在另一个工厂?
如果这不起作用,我是否必须将参数分离到一个被调用的方法中?
编辑:
似乎有问题的类型是在工厂外注入(inject)的。因此,Ninject 试图为失败的 enum 和 int 类型创建绑定(bind)。
最佳答案
问题是没有调用工厂,而是直接注入(inject)了类型。
关于error-handling - Ninject ToFactory 不使用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991683/