IoC を使用するように変換しようとしている多くの MVC アプリで使用される UserModel クラスがあります。
public class UserModel
{
public string Login { get; set; }
[DisplayName("Display Name")]
public string DisplayName { get; set; }
public static explicit operator UserModel(string userLogin)
{
IKernel IoC; // Where do I get this from?
var ActiveDirRepo = IoC.Get<IActiveDirectoryRepository>();
var User = ActiveDirRepo.FindById<ActiveDirectoryUser>(userLogin.ToUpper());
return new UserModel()
{
Login = userLogin,
DisplayName = User == null ? userLogin.ToUpper() : User.Name
};
}
}
からstring
への明示的な変換演算子がありUserModel
ます。以前はnew
an を編集しActiveDirectoryRepository
て使用していましたが、IoC/DI を使用したいと考えています。
私が今抱えている問題は、IoC コンテナー ( IKernel
) を参照するにはどうすればよいですか?
UserModel
オペレーターが作成しているため、外部から注入することはできません。