[英]Use VB.NET and C# in the same application?
我在MS Visual Studio 2005中開發基於GUI的應用程序,我只想知道是否可以在同一個項目中同時使用VB.NET和C#。 或者我可以在我的VB.NET項目中包含用C#編寫的模塊嗎?
我有一個用C#編寫的類,我想在我的基於VB.NET的項目中使用它,所以如果我可以包含和調用該項目中的函數,那么我將不必再在VB.NET中編寫該類。
所以請幫助我,因為我是.NET編程的新手。
我只想知道在同一個項目中可以同時使用VB和C#。
不,不在同一個項目中 。 另一方面,您可以在同一解決方案中使用它們。
或者我可以在我的VB.net項目中包含用C#編寫的模塊。
我建議您創建一個包含兩個項目的解決方案:一個在C#中,它構成了一個從VB項目中使用的庫。 這很簡單,易於維護且易於擴展。
我自己從來沒有這樣做,但我知道你可以將C#代碼編譯成一個dll,然后加載並引用你的VB項目中的dll。
我認為您要使用的C#代碼必須編譯為DLL。 完成后,簡單地將對該項目的引用添加到VB.Net項目,導入所需的命名空間,然后就可以使用C#代碼。
另請參見如何:創建和使用C#DLL (來自MSDN,適用於VS2005)
您還希望確保C#代碼符合CLS。 這意味着它不會公開暴露其他.NET語言無法理解的任何功能(例如,無符號的int - VB中不存在,或者只是大小寫不同的類 - 因為VB不區分大小寫)。 要執行此操作,您需要添加一個屬性,以便在您違反任何准則時編譯器將引發錯誤。 本文介紹如何執行此操作:
CLSCompliantAttribute可以應用於程序集,模塊,類型和成員。
要將整個程序集標記為符合CLS,請使用以下語法
using System; [assembly:CLSCompliant(true)]
為了將特定方法標記為符合CLS,使用以下語法
[CLSCompliant(true)] public void MyMethod()`
將VB.NET和C#代碼放在不同的項目中。 (我在我的開源項目中使用VB.NET和C#, http://msquant.sourceforge.net/ ,效果很好)。
您不必擔心DLL,只需引用項目 (使用“添加引用”對話框中的“項目”選項卡)。 例如,如果您需要在C#代碼/項目中使用函數,請在VB.NET項目中向C#項目添加引用。
您不能在同一項目中使用C#文件和VB文件。 但是,您可以在同一解決方案中使用VB和C#項目並引用它們。
在您的代碼中,您可以使用:
Imports namespace
要么
using namespace
一旦將參考添加到適當的項目中,就構建解決方案並且您很高興。
您還可以在單獨的解決方案中創建VB.NET庫,編譯它並將DLL導入C#項目,反之亦然。
如果您只打算在Visual Basic項目中使用該模塊,那么您應該考慮將代碼轉換為Visual Basic。 如果您需要在C#和VB.NET程序中使用該模塊,我將使用上面發布的解決方案之一
您可以嘗試* 將C#轉換為VB.NET 。 它將C#轉換為VB.NET代碼。 當我必須轉換我在網上用C#編寫的東西時,我專門使用這個頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.