public void TestInstance() { var container = MakeContainer(); var obj = new TestClassService(); container.Instance <TestClassService>(obj); Assert.AreSame(obj, container.Make <TestClassService>()); }
public void TestRelease() { var container = MakeContainer(); var obj = new TestClassService(); container.Instance <TestClassService>(obj); Assert.AreSame(obj, container.Make <TestClassService>()); container.Release <TestClassService>(); // 因为被释放后容器会容器会自动推测出所需类的实例 Assert.AreNotSame(obj, container.Make <TestClassService>()); }
public void TestRelease() { var container = MakeContainer(); var obj = new TestClassService(); container.Instance <TestClassService>(obj); container.OnFindType((str) => { return(Type.GetType(str)); }); Assert.AreSame(obj, container.Make <TestClassService>()); container.Release <TestClassService>(); // 因为被释放后容器会容器会自动推测出所需类的实例 Assert.AreSame(obj.GetType(), container.Make <TestClassService>().GetType()); }