public void WireSingletonTest() { var di = new AyxContainer(); var single = new TestA(); di.WireSingleton(single); var actual = di.Get <TestA>(); Assert.AreSame(single, actual); di.WireSingleton <TestB>(); var b1 = di.Get <TestB>(); var b2 = di.Get <TestB>(); Assert.AreSame(b1, b2); di.WireSingleton <IComputer, AddComputer>(); var computer1 = di.Get <IComputer>(); var computer2 = di.Get <IComputer>(); Assert.AreSame(computer1, computer2); }
private void InitDependency() { //依赖服务配置 Container = new AyxContainer(); Container.Wire <ITestDataRepo, TestDataRepo>(); Container.WireSingleton <ILogger, SimpleLogger>(); //使用自带的容器创建View和ViewModel的容器 VM = new AvalonContainer(new DefaultContainer(Container)); //View和ViewModel依赖配置 VM.WireVM <MainWindow, MainWindowViewModel>(); VM.WireVM <TestOneView, TestOneViewModel>(); }
public void ConstructureInjectionTest() { var di = new AyxContainer(); di.Wire <IComputer, AddComputer>(); di.WireSingleton <Logger>(); var test = di.Get <InjectModel>(); var result = test.Compute(4, 5); Assert.AreEqual(9, result); var text = "test"; var expected = "console:" + text; var actual = test.Log(text); Assert.AreEqual(expected, actual); }