如何在 C# 中使用属性实现依赖注入?

csharpserver side programmingprogramming更新于 2025/6/2 17:07:17

将耦合(依赖)对象注入(转换)到解耦(独立)对象的过程称为依赖注入。

依赖注入的类型

DI 有四种类型 −

  • 构造函数注入

  • Setter 注入

  • 基于接口的注入

  • 服务定位器注入

Setter 注入

Getter 和 Setter 注入通过使用默认的公共属性过程(例如 Gettter(get(){}) 和 Setter(set(){}))来注入依赖项。

示例

public interface IService{
   string ServiceMethod();
}
public class ClaimService:IService{
   public string ServiceMethod(){
      return "ClaimService is running";
   }
}
public class AdjudicationService:IService{
   public string ServiceMethod(){
      return "AdjudicationService is running";
   }
}
public class BusinessLogicImplementation{
   private IService _client;
   public IService Client{
      get { return _client; }
      set { _client = value; }
   }
   public void SetterInj(){
      Console.WriteLine("Getter and Setter Injection ==>
      Current Service : {0}", Client.ServiceMethod());
   }
}

消费

BusinessLogicImplementation ConInjBusinessLogic = new BusinessLogicImplementation();
ConInjBusinessLogic.Client = new ClaimService();
ConInjBusinessLogic.SetterInj();

相关文章