1

簡単な質問ですが、私はいくつかの.Netに関することを読んでいますが、一部の人々の話し方は、.Netライブラリが複数の.Net言語で使用できることを示唆しています。多分それは私の側でただ希望的な考えです笑。たとえば、C#でプログラムされたTaoFrameworkをBoo.Net言語で使用できますか?
私が説明できる唯一の方法は、ライブラリが.Netで実行するためにバイトコードにコンパイルされており、コンパイルも行う任意の言語で使用できるかどうかです。.Netについてはよくわかりませんが^-^

ありがとう

4

4 に答える 4

2

任意のアセンブリ(ILコードとマニフェスト)は、任意の.NET言語で使用できます。コードがCILに準拠し、CLS(共通言語仕様)に準拠している限り、どの言語で記述されていてもかまいません。

MSDN(CLS)から:

実装された言語に関係なく他のオブジェクトと完全に対話するには、オブジェクトは、相互運用する必要のあるすべての言語に共通する機能のみを呼び出し元に公開する必要があります。このため、多くのアプリケーションで必要とされる基本的な言語機能のセットであるCommon Language Specification(CLS)が定義されています。CLSルールは、共通型システムのサブセットを定義します。つまり、CLSでより厳密なルールが定義されている場合を除き、共通型システムに適用されるすべてのルールがCLSに適用されます。CLSは、開発者がさまざまな言語で利用できるようにするために信頼できる一連の機能を定義することにより、言語の相互運用性を強化および保証するのに役立ちます。CLSは、CLSコンプライアンスの要件も確立します。

于 2010-12-12T21:38:37.927 に答える
1

私があなたの質問を正しく理解していれば、たとえばC#またはDelphi Prismで.NETライブラリを作成し、それをILにコンパイルして、アセンブリを取得できます。次に、このアセンブリを参照してVB.NETプロジェクトで使用できます。

于 2010-12-12T21:36:35.067 に答える
1

相互運用性には限界があります。特に、異なる言語の基礎となる型システムが大幅に異なる場合。ただし、BooとC#は構文を除けば非常に似ているため、これらの間に問題はありません。

于 2010-12-12T21:51:05.340 に答える
0

VB.Netプロジェクトでは問題なくC#ヘルパーライブラリを使用しています-単一のプロジェクトは単一の言語のみを処理できますが、ソリューションには、それぞれが独自の言語を使用する(またはMSILにコンパイルされる任意の言語で記述されたアセンブリを参照する)複数のプロジェクトを含めることができます完全なVSデバッグ機能

于 2010-12-12T21:40:39.650 に答える