C#、j#およびvb.netそれぞれにクラスを作成し、その変数を1つのアプリケーションでやり取りすることは可能ですか?

StackOverflow https://stackoverflow.com/questions/3239475

  •  15-09-2020
  •  | 
  •  

質問

私はインタビューでこの質問をしましたあなたの答えに感謝します。

について Mohammad Mohsin

役に立ちましたか?

解決

最初のインタビュアーが何を意味するのかは正確に - がC#、j#、vb.net で書かれたコードを組み合わせることが可能であるかどうかを尋ねていた場合 - 答えははい - 各クラスが別のアセンブリにある限り。複数の言語から単一のアセンブリにコードをコンパイルすることはできません。

それぞれに書かれているコードが CLS準拠 - 言語に関係なく宣言された種類とプロパティを参照することができるはずです。言語中立性は、.NETのコア設計原理の1つです。

コメント ...のコメントから答えるために、コードIをコンパイルすると、メタデータとタイプ情報を保持する共通の中間表現にコンパイルされます。したがって、.NETランタイムは、さまざまな.NET言語で書かれている可能性があるコードをロードして相互運用することができます。この柔軟性は、共通型システム、CLR、およびMSILを含む.NETのいくつかの特徴によって可能になります。

他のヒント

はい、それらの言語はすべて共通の中間言語にコンパイルされ、すべて管理されたフレームワークで実行されています。

各言語でクラスを書き留めた場合(それぞれのクラスライブラリプロジェクトがあります)、.NETランタイムをターゲットとした言語を使用して、それらのクラスを任意のプロジェクトで一緒に使用できます。

それはあなたが意味するものに依存します。クラス上のパブリックメンバーにアクセスできます。クラスがどの言語で書かれているかは関係なく、それらは別々のアセンブリにコンパイルされる必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top