首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 如何獲取接口的實現類並動態調用

     編輯:程式設計綜合問答

設計原則

「依賴倒置原則」:高層模塌不應依賴低層模塊,雙方應依賴抽象(接口)。

常見方案

  1. 依賴注入 (DI) 容器:如 Autofac、Unity、.NET Core 內置 DI,通過配置綁定接口與實現,運行時自動注入。
  2. 反射 + 工廠模式:根據配置或約定動態創建實例。
    var implType = Assembly.GetExecutingAssembly()
        .GetTypes()
        .First(t => typeof(IMyInterface).IsAssignableFrom(t) && !t.IsInterface);
    var instance = (IMyInterface)Activator.CreateInstance(implType);
    
  3. 策略模式:將不同實現封裝為策略類,上下文持有接口引用,按條件切換。

避免錯誤

若接口僅有一個實現,不需要接口;若多實現且調用方不想依賴具體類,應由調用方定義接口(如回調接口),實現方實現它(好萊塢原則)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved