2012-05-05 117 views
0

我正在創建一個Silverlight應用程序,該應用程序將加載用戶定義的模塊。將模塊名稱傳遞給模塊構造函數

這是一個棘手的部分:我不知道會有什麼模塊,所以我不知道模塊的名稱。

我遇到了一個小問題:當一個用戶創建的模塊被加載時,它不知道它的名字(引導程序在運行時知道它),並且我需要某種名稱來跟蹤所有該應用程序正在使用這些模塊。

這基本上歸結爲這樣:我想告訴模塊它在模塊構造函數中的名稱是什麼(一個簡單的字符串)。

但是,AFAIK在Unity中只能將接口傳遞給模塊,正確嗎?而且,即使我使用字符串屬性創建了一些非常簡單的接口,我如何確保每個模塊都有正確的名稱(或者我如何傳遞該接口的正確實例)?

回答

0

例如,模塊本身確實定義了自己的名字。

[Module(ModuleName="Module Name Goes Here")] 
public class SomeModule : ModuleBase 
{ 
    .... 
} 

爲什麼需要告訴自己的名字..?

+0

我明白這是PRISM的基本原理......但是,我希望能夠改變這一點。這個想法是,應用程序對模塊實際調用的內容並不感興趣;它需要跟蹤加載的模塊,爲此,它需要跟蹤內部名稱或ID。目前,要求模塊與配置文件具有匹配的名稱,該配置文件將用於加載該模塊,但如果可能的話,我想解除此限制。 – Shaamaan