我正在測試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()
{
}
}
的測試方法,通過sucesfully
[TestMethod]
public void SimpleTestSingleton()
{
using (IKernel kernel = new StandardKernel())
{
kernel.Bind<ITestRepository>().To<TestRepository>();
var testSingletonInjectionClass =
kernel.Get<TestSingletonInjectionClass>();\
Assert.IsNotNull(testSingletonInjectionClass);
}
}
我有兩個問題
是得到這個正確的方法單例類實例?
kernel.Get<TestSingletonInjectionClass>()
2.如何從應用程序代碼的單一實例類。在測試方法中,我創建Ninject內核並訪問Get方法。如何訪問ninject內核表單代碼?
請問如何在構造函數中獲取類的實例?非常感謝您的幫助。 – Tomas 2012-04-12 15:10:02
只需將其作爲構造函數參數添加即可。 – 2012-04-12 15:20:43
我使用這個實現遇到的一個問題是,如果我在抽象類中添加這樣的構造函數,派生類也需要相同的構造函數,並且有時會帶來問題。 – Tomas 2012-04-17 12:29:56