私のリポジトリをWindowsフォームに挿入するためにNinjectを使用しています。ninjectを使用してwinformエラーへのリポジトリを挿入する
だから私はnuget .Iからninjectインストール私の窓のフォームにこれを追加します。私のフォームで
public class Binding: NinjectModule
{
public override void Load()
{
Bind<IUserRepository>().To<IUserRepository>();
}
}
を私はこれを行う:
public partial class Form1 : Form
{
private IUserRepository userRepository;
[Inject]
public Form1()
{
InitializeComponent();
var kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
userRepository = kernel.Get<IUserRepository>();
}
private void Form1_Load(object sender, EventArgs e)
{
List<User> saaa = userRepository.Get().ToList();
int aaa = saaa.Count;
}
}
しかし、私はこのエラーを取得:
An unhandled exception of type 'Ninject.ActivationException' occurred in Ninject.dll
Additional information: Error activating IUserRepository using binding from IUserRepository to IUserRepository
No constructor was available to create an instance of the implementation type.
Activation path:
1) Request for IUserRepository
Suggestions:
1) Ensure that the implementation type has a public constructor.
2) If you have implemented the Singleton pattern, use a binding with InSingletonScope() instead.
スティーブンは私の問題だったありがとうございました –
良いもの;私はまた、読んでみる価値のあるリンクを使って答えを更新しました。フォームのコンストラクタでIUserRepositoryを宣言できる適切な注入が可能になります。 –
ありがとう、 –