日期:2014-05-20  浏览次数:20862 次

Unity Dependency 属性注入 无效
贴代码:

    public class People
    {
        public People() 
        {

        }
        private Info info;

        [Dependency]
        public Info Info
        {
            set { info = value; }
            get { return info; }
        }
        
    }

    public class Info
    {
        public string Name { get; set; }
    }



            container.RegisterType(typeof(People));
            container.RegisterType(typeof(Info));

            People ppl = new People();
            Console.WriteLine(ppl.Info.Name);//报错,Info为null,注入失败


如果加上这一句:

    ppl.Info = container.Resolve<Info>();

就是正确的,但是我需要的是使用[Dependency]属性自动注入的方式实例化对象。
请高手帮忙看看,谢谢。
------最佳解决方案--------------------
引用:
我明白了:
People ppl = new People(); //关键是这里,new 出对象时,容器并没有对对象做任何处理,因此对象的属性都为null

People ppl = container.Resolve<People>();//如果使用容器注入对象,那么对象中的属性才可以被动态注入

我是来看LZ自己解答的。。。
------其他解决方案--------------------
我明白了:
People ppl = new People(); //关键是这里,new 出对象时,容器并没有对对象做任何处理,因此对象的属性都为null

People ppl = container.Resolve<People>();//如果使用容器注入对象,那么对象中的属性才可以被动态注入
------其他解决方案--------------------
呵呵,没有啦,也是有高手提示之后解答的!