public interface INoticy
    {
        void Noticy(string msg);
    }
    public class SMSNoticy : INoticy
    {
        public void Noticy(string msg)
        {
            Console.WriteLine(msg);
        }
    }
    public class Alarm
    {
        [Dependency]
        public INoticy Noticy { get; set; }
        public void TriggerAlarm()
        {
            Noticy.Noticy("test");
        }
    }
    public class TestMain
    {
        public void test()
        {
            UnityContainer con = new UnityContainer();
            con.RegisterType<INoticy, SMSNoticy>();
            con.RegisterSingleton<Alarm>();
            var alarm = con.Resolve<Alarm>();
            alarm.TriggerAlarm();

        }
    }

依赖注入最常见的有,构造函数注入,属性注入,接口注入

大型项目比较通用的做法是,将需要注入的内容,放在config中,让程序自动加载注入

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

在需要使用的地方,直接resolve想要的对象就行。

目前比较模糊的是resolve里面如何实现???

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄