2011-02-14 67 views
0

我有一個Visual Studio C#項目和一堆名爲「OtherClasses」的子目錄內的不同目錄中的.cs(C#類)。目錄結構如下:從其他目錄動態導入C#類

<Visual C# Directory> 
     <bin> 
     <obj> 
     <Properties> 
     <OtherClasses> 
      <Package1> 
      <Package2> 

因此在每個Package目錄中都有C#類。我的問題是:是否有任何方法來從Visual C#目錄內的主類中提取這些類?

另外我想,如果用戶在程序中選擇包N,那麼只有該特定包的類被調用。我不知道是否有可能以某種方式實現這一目標。

謝謝。

+0

你是先編譯它們還是這是`.cs`文件的鬆散集合? – 2011-02-14 04:30:58

回答

0

Visual Studio不關心目錄結構。 (.cs)文件包含在項目中並進行編譯,或者它們不包含在項目中,因此不會被編譯。因此,無論不同文件在哪個文件夾中,只要其可見性(內部或公共)允許,就可以相互調用。

如果您希望用戶能夠從不同的類集中進行選擇,除了依賴源代碼目錄之外,還必須使用其他方法來進行區分。

編輯
這假設你正在編譯你的.cs文件作爲一個項目。如果您要在程序運行時編譯代碼文件夾,那麼代碼如何交互將取決於您使用的方法的細節。

2

是的,您可以爲每個軟件包創建程序集,然後根據用戶選擇的內容動態加載它們。您甚至可以在運行時通過使用內置的c#編譯器編譯源文件來動態創建這些程序集。