繁体   English   中英

Ninject相当于Unity RegisterInstance方法

[英]Ninject equivalent of Unity RegisterInstance method

Ninject是否具有统一注册实例的等效方法。

我想创建一个模拟对象并注册它。

谢谢

这是简单的答案

Bind<IMyType>().ToConstant<MyType>(new MyType());

所以这是使用Moq的一个例子:

var mock = new Mock<IMyType>();
//Setup your mock expectations / etc here.
//...
Bind<IMyType>().ToConstant(mock.Object);

奖金回答:

我发现有些人实际上只是想创建一个特定类的单例实例,而不是自己实际创建它(这允许在有人请求时创建对象,而不是在构建容器时)。 这样做是这样的:

Bind<IMyType>.To<MyType>().Using<SingletonBehavior>();

在你的情况下,既然你说了“模拟”这个词,我会假设你想要的是第一个而不是第二个答案,但这是一件好事。

不确定你正在使用的Ninject是什么类型的模拟工具,或者是什么版本; 然而,值得一提的是,Ninject 2有一个扩展,它提供与Moq的集成 - http://github.com/enkari/ninject.moq

我意识到这并没有直接回答你的问题, 安德森的确做得很好,但认为它可能是相关的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM