MEF程式設計 1 為匯出附加元資料

2021-09-05 01:12:07 字數 990 閱讀 7546

通用示例介面(比如計算器功能介面)

public inte***ce icalculator

1.為匯出附加元資料

使用 exportmetadataattribute 特性,應該這樣(這裡是加法運算)

[export(typeof(icalculator))]

[exportmetadata("calcimetadata", "add")]

public class add:icalculator

#endregion

}

我們再新增乙個減法運算

[export(typeof(icalculator))]

[exportmetadata("calcimetadata", "subtract")]

public class subtract : icalculator

#endregion

}

=== [下面我們再看看如何匯入使用] ===

public class calcicompositionhelper

/// /// assembles the calculator components

///

public void assemblecalculatorcomponents()

catch (exception ex)

}/// /// sends the result back to the client

///

///

///

///

public int getresult(int num1, int num2, string operationtype)

}return result;

}}

《MEF程式設計指南》博文彙總

在mef之前,人們已經提出了許多依賴注入框架來解決應用的擴充套件性問題,比如osgi 實現以spring 等等。在 microsoft 的平台上,net framework 自身內部包含元件模型和 system.addin。同時存在若干種開源解決方案,包括 sharpdevelop 的 soda 體...

MEF 程式設計指南(八) 過濾目錄

var catalog new assemblycatalog typeof program assembly var parent new compositioncontainer catalog var filteredcat new filteredcatalog catalog,def de...

MEF 程式設計指南(七) 使用目錄

目錄 catalogs mef 特性程式設計模型的核心價值,擁有通過目錄動態地發現部件的能力。目錄允許應用程式輕鬆地使用那些通過 export attribute 註冊自身的匯出。下面列出 mef 提供的目錄。程式集目錄 assembly catalog 為了發現給定程式集所有匯出,需要使用 sys...