2012-06-27 64 views
1

添加「使用」的聲明,在運行時,我們有如何在編譯時使用IWizard

using MyNamespace; 

這個工作到現在,但最近的要求得到了改變,它需要根據選擇的應用程序類型在運行時處理由用戶。

那麼,如何在IWizard中使用c#代碼添加「Using」命名空間語句?

我知道如何

var appProject = project.Object as VSProject; 
appProject.References.Add(Mydll); 

下添加在運行時的屁股參考我想是在運行時

using System.IO; 
using MyNamespace-> should come at runtime based on the application selected 

感謝

回答

0

我正好碰到了類似的問題,而它在運行時不會完全改變命名空間,它會在運行時從不同的命名空間獲取對象等。如果你想改變命名空間,你有可能會有相同的名稱和接口,但實現不同的類,否則你的代碼將需要改變。如果創建一個新的庫和名稱空間,只需包含要使用的所有類的接口,就需要做什麼。然後,讓不同名稱空間中的類繼承這些接口,以便您可以編寫類來使用接口而不是特定的實現。然後選擇要在運行時使用的實現,使用「Dependancy Injection」選擇通過配置文件插入的正確實現,或讓應用程序的其他部分配置注入。依賴性注射可能有點難以開始,但一旦你開始注意它,它會讓你的生活變得更容易。 Ninject是一個非常容易的依賴注入框架。

相關問題