最近我转向 MVC 3 和 Ninject 2。在大部分代码中,我使用构造函数注入,但也有一些地方,我不得不使用Inject属性。Ninject 2 注册了自己的IDepencyResolver接口。我不喜欢DependencyResolver类成为System.Web.Mvc命名空间的一部分,因为它的功能与 MVC 并没有真正严格相关,但是现在,当它在那里时,我可以做到
public SomeClass
{
public IUserService UserService { get; set; }
public SomeClass()
{
UserService = DependencyResolver.Current.GetService<IUserService>();
代替
public SomeClass
{
[Inject]
public IUserService UserService { get; set; }
所以我不必Ninject在我的类中引用命名空间。应该DependencyResolver这样使用吗?