是的,你可以使用MEF。 MEF支持使用PartCreationPolicy屬性對象的非共享實例:在這個here
[PartCreationPolicy(CreationPolicy.NonShared)]
更多信息。
我個人倒組件的目標上的進口後,應進行接線和配置。但是我不確定你想要你的應用程序有多普遍,如果你正在做一個'框架'來做某些解決方案,我可以想象你想要配置是分開的。你可以全盤通過並創建一個ISuperDuperGridConfiguration並將它們導入到Grid插件的構造函數[ImportingConstructor]中。從您的目標中(網格被導入的位置)將網格的位置設置爲網格插件(如主網格,邊網格),並使用存儲在ISuperDuperGridConfiguration中的數據進一步配置網格插件本身。
但是,你可以輕鬆地去「過了頭」與MEF,這取決於你的目標。我們有一個完全MEF組件化的用戶界面,用於爲每個客戶定製需求的應用程序。有時候,我有強迫將功能區中的單個按鈕放在MEF擴展中的衝動。
正如你所看到的,根據你的需要,你可以有時會走得太遠。
我不認爲你需要的元數據特別是在你的情況,但也許別人可以分享這個;-)不同的意見。
我希望這回答了你的問題,如果不是請評論,所以我可以強調更多的方面。總而言之,使用MEF對我們來說非常積極,而且我們正在使用它遠遠超過「你好世界」。所以至少你有這個!
Kubal5003:您是否需要更多信息才能接受此答案?我很樂意提供。 – 2011-03-24 23:16:27