最近、MVC3とNinject2に移行しました。ほとんどのコードでコンストラクターインジェクションを使用していますが、Inject
属性を使用しなければならない場所もあります。Ninject2は独自の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
そのように使用する必要がありますか?