Esempio n. 1
0
        public void TestInstance()
        {
            var container = MakeContainer();
            var obj       = new TestClassService();

            container.Instance <TestClassService>(obj);

            Assert.AreSame(obj, container.Make <TestClassService>());
        }
Esempio n. 2
0
        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>());
        }
Esempio n. 3
0
        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());
        }