這可能是一個漫長的過程,但.NET的靈活性永遠不會令我驚歎,所以在這裏。裝飾.NET程序集
我正在開發一個MVC應用程序,它需要搜索來自公共基類的類類型的一組程序集。
即我有幾個組件具有所有派生自ActivityBase的活動類型。這些程序集將被放置在特定的目錄中。他們有點像插件。由於它們需要在運行時動態加載,因此它們還需要伴隨一些依賴關係(除非我能夠找到將它們分開的便捷方式,並且也可以隨時加以注意)。
I有代碼將遍歷此目錄中的所有.DLL文件,加載程序集並遍歷程序集中的所有類型以查找從ActivityBase派生的類型。
這工作正常。但是,我想避免加載並搜索沒有活動的程序集,因爲某些依賴項具有數千種類型,並且會成爲性能問題。
所以我想我的問題是,除了文件命名約定,有沒有什麼辦法來「裝飾」或用一些類型的數據標記程序集,這將表明它是一個活動程序集,可以很容易地自動化在編譯時和在運行時輕鬆讀取?
任何其他處理這個問題的建議也是受歡迎的。
自定義裝配屬性如何:http://stackoverflow.com/問題/ 1936953 /自定義組件的屬性? – nemesv
另一種方式(某種程度上,因爲它使用了很多屬性本身)屬性解決方案是[微軟可擴展性框架](http://msdn.microsoft.com/en-us/library/dd460648.aspx) - MEF使您能夠獲取特定類型/實現的組件。 – pasty
感謝你的這個糊塗,不知道,但MEF聽起來可能會對我的整體應用程序設計有所幫助,所以我也會仔細研究一下。 – Gerald