// 定义一个接口 public interface IMessageService { void SendMessage(string message); } // 实现该接口 public class EmailService : IMessageService { public void SendMessage(string message) { Console.WriteLine("发送邮件:" + message); } } // 属性注入示例 public class PropertyDI { private IMessageService _messageService; // 属性注入依赖对象 public IMessageService MessageService { set { _messageService = value; } } public void ProcessMessage(string message) { // 使用注入的依赖对象 _messageService.SendMessage(message); } } // 方法注入示例 public class MethodDI { private IMessageService _messageService; // 方法注入依赖对象 public void SetMessageService(IMessageService messageService) { _messageService = messageService; } public void ProcessMessage(string message) { // 使用注入的依赖对象 _messageService.SendMessage(message); } } class Program { static void Main(string[] args) { IMessageService emailService = new EmailService(); PropertyDI pro = new PropertyDI(); // 属性注入示例 pro.MessageService = emailService; pro.ProcessMessage("属性注入:Hello World!"); MethodDI met = new MethodDI(); // 方法注入示例 met.SetMessageService(emailService); met.ProcessMessage("方法注入:Hello World!"); Console.ReadLine(); } }
属性注入通过类的属性来注入依赖对象,而方法注入则通过类的方法来注入依赖对象。
在应用中,创建依赖对象后,可以通过属性注入或方法注入将依赖对象注入到“PropertyDI”、“MethodDI”类中,从而实现依赖注入。
翻译
搜索
复制
标签:C#,void,IMessageService,messageService,实例,message,public,注入 From: https://www.cnblogs.com/ziyueyinkong/p/17220247.html