現在、 VB.NETを使用してビルドされたアプリケーションが 1 つあります。
既存のVB.NETアプリケーション内にC# コードを追加する必要がありましたが、可能ですか?
現在、 VB.NETを使用してビルドされたアプリケーションが 1 つあります。
既存のVB.NETアプリケーション内にC# コードを追加する必要がありましたが、可能ですか?
C# コード用に別のプロジェクトを作成します。次に、C# プロジェクトへの参照を VB.Net プロジェクトに配置します。その後、VB.Net で記述されているかのように C# オブジェクトにアクセスできます。
いいえ。ソリューション内に別のプロジェクトを作成し、その中にコードを配置する必要があります。プロジェクトがクラス ライブラリの場合、元のプロジェクトはそれを参照してライブラリ ルーチンを呼び出すことができます。それができない場合は、利用可能なオンラインの C#<->VB.NET コンバーターがたくさんあります。
同じプロジェクトに異なる言語を追加することはできませんが、両方のプロジェクトを同じソリューションに追加し、C# プロジェクトから VB プロジェクトへ、または VB プロジェクトから C# プロジェクトへの参照を追加し、彼が作成した型を使用できるはずです。 -もちろん、それらが公開されている限り。
このアプローチに従ってください:
1)マルチプロジェクト ソリューションを作成する
2) プロジェクトに CSharp プロジェクトの参照を追加します。
次に、これらのクラス/フォームなどのオブジェクトを作成し、CSharp プロジェクトで作成したメソッドに次のようにアクセスできます。
Dim obj As New YourCSharpProject.SomeClass()
obj.UpdateData()
他の人が言ったように、コンパイラはそれが書かれた言語のみを理解するため、2 つの言語を直接混在させることはできません。したがって、MS が拡張機能を作成しない限り、VB.NET コンパイラは C# コードを理解できません。このようなものは私の想像から来ています:) -
Dim v as int
%for(int i = 0; i < $v; ++i){}%
はい、別のクラス/ページ/Web コントロール/ユーザー コントロールであり、C# として指定されている限り。Visual Studio はそれを好まないでしょう。VS での簡単な方法は、ソリューション内で新しいプロジェクトをセットアップすることです。
ちょっとした C# コードの場合は、最初にhttp://www.developerfusion.com/tools/convert/csharp-to-vb/のようなコンバーターを使用して VB.NET に変換するか、手動で変換することができます。
それ以外の場合は、既に説明したように、C# コードを同じソリューション内の別のプロジェクトに配置する必要があります。その後、同じソリューションで VB.NET コードから C# コードを呼び出すことができます。