Ninjectをテストしていて、リポジトリをシングルトンクラスに注入する方法を理解しようとしています。以下は、作業リポジトリとシングルトンクラスの例です...
public interface ITestRepository
{
void TestRepositoryMethod();
}
public class TestRepository:ITestRepository
{
public void TestRepositoryMethod()
{
}
}
public class TestSingletonInjectionClass
{
private readonly ITestRepository _repository;
public TestSingletonInjectionClass(
ITestRepository repository)
{
_repository = repository;
}
public void TestMethod()
{
}
}
合格した試験方法
[TestMethod]
public void SimpleTestSingleton()
{
using (IKernel kernel = new StandardKernel())
{
kernel.Bind<ITestRepository>().To<TestRepository>();
var testSingletonInjectionClass =
kernel.Get<TestSingletonInjectionClass>();\
Assert.IsNotNull(testSingletonInjectionClass);
}
}
2つの質問があります
1.これはシングルトンクラスインスタンスを取得するための正しいメソッドですか?
kernel.Get<TestSingletonInjectionClass>()
2.アプリコードからシングルトンインスタンスクラスを取得する方法。テストメソッドでは、Ninject Kernelを作成し、Getメソッドにアクセスします。ninjectカーネルフォームコードにアクセスする方法は?