Ninject:将某些东西绑定到自身是什么意思

本文关键字:是什么 意思 绑定 Ninject | 更新日期: 2023-09-27 18:02:26

Ninject具有self binding的功能,如Bind<Samurai>().ToSelf();

我读过这个,但我不明白它的重要性或它是如何有用的。任何意见不胜感激。

Ninject:将某些东西绑定到自身是什么意思

如果 Ninject 找到一个需要创建的对象,并且它有一个具有 Samurai 参数的构造函数,它不知道如何实例化它。

但是当你使用Bind<Samurai>().ToSelf();时,Ninject知道需要创建一个Samurai才能传递给Samurai参数。

如果该绑定不存在,那么 ninject 就不知道要传递什么,例如,可能存在SamuraiSubClass类型。但是通过明确地说,当Ninject找到一个Samurai参数时,它需要为该参数创建一个Samurai,那么Ninject确切地知道该怎么做。

我使用 .WithConstructorArgument(( 相当多。 Bind<Samurai>().ToSelf().WithConstructorArgument("owner", user); 只是在注入Samuari构造函数时向Samuari构造函数提供对象的好方法。