下面是在 C# 中使用依赖注入的示例:
interface IEmailService
{
voidSendEmail(string to, string subject, string body);
}
class EmailService : IEmailService
{
public void SendEmail(string to, string subject, string body)
{
// 真正的邮件发送代码
}
}
class MyController
{
private readonly IEmailService _emailService;
public MyController(IEmailService emailService)
{
_emailService = emailService;
}
public void SendEmail(string to, string subject, string body)
{
_emailService.SendEmail(to, subject, body);
}
}
class Program
{
static void Main(string[] args)
{
IEmailService emailService = new EmailService();
MyController controller = new MyController(emailService);
controller.SendEmail("example@example.com", "Hello", "World");
}
}
在上面的示例中,IEmailService
是一个接口,EmailService
是一个实现该接口的类,MyController
类使用 IEmailService
接口来发送电子邮件。在 Main
方法中,我们将一个 EmailService
实例传递给了 MyController
的构造函数,这就是依赖注入。