Ninject ToFactory不使用参数

时间:2012-06-12 06:45:46

标签: error-handling ninject factory

我正在尝试使用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类型创建绑定。

1 个答案:

答案 0 :(得分:0)

问题是没有调用工厂,而是直接注入了类型。