none
如何在VB.net 中 呼叫同方案下的C#專案中的類別元件 RRS feed

  • 問題

  • 假設在一個專案中有兩個專案VB.NET 及C#

    c#類別如下

    namespace A

    {

       public class Myclass1
      {

        public static void Function1( short  a)

        {

        XXXXXXXX <--------------code

        }

        }

    }

    我要在VB.NET中呼叫c#中的Function1

    請問要先引用namespace A  才能使用它嗎?

    還是我可以直接寫Myclass1.Function1(10) 來直接呼叫?

     

    2006年7月14日 上午 03:26

解答

  • 先加入 C# 專案的參考,然後在程式碼中 Imports C# 的命名空間,才可以在程式碼中使用 Myclass1.Function1() 來呼叫 .
    2006年7月14日 上午 03:32
    版主
  • 通常會先把C#的程式compile成dll之後, 然後加入這支dll (add reference), 最後你在VB.NET就可以寫成如下

    Imports A

    .....

    Myclass1.Function1(10) // 由於是static method, 所以直接拿來用

    ....

    2006年7月14日 上午 03:39

所有回覆

  • 先加入 C# 專案的參考,然後在程式碼中 Imports C# 的命名空間,才可以在程式碼中使用 Myclass1.Function1() 來呼叫 .
    2006年7月14日 上午 03:32
    版主
  • 通常會先把C#的程式compile成dll之後, 然後加入這支dll (add reference), 最後你在VB.NET就可以寫成如下

    Imports A

    .....

    Myclass1.Function1(10) // 由於是static method, 所以直接拿來用

    ....

    2006年7月14日 上午 03:39
  • 你是指新增一個類別庫專案 把C#類別程式寫入 編譯後就成為DLL

    VB.NET在呼叫C# 所建立的DLL嗎?

     不能直接引用另一個專案中的類別嗎?

    2006年7月14日 上午 03:57
  • 可以啊,我不是有說 "把 C# 的專案加入參考" 嗎 ?

    但這有一個限制,就是 VB.NET 和 C# 的專案要在同一個方案才行 .

    2006年7月14日 上午 04:00
    版主
  • 請問是否要把兩個專案檔案都放在方案目錄之內,因為我執行時出現

     
    " 無法載入檔案或組件  " 或找不到 相關檔案之類的 執行時例外

    但是編輯程式時 無警告或錯誤出現

     

    2006年7月14日 上午 05:24
  • 最好是放在同一個方案目錄會比較好 .

    或者試著在參考設定把 "複製到本機" 設定為 true,如果是 Web 應用程式,它應會自動處理這件事,Windows 應用程式則要做這個動作 .

    2006年7月14日 上午 06:07
    版主