• ベストアンサー

.NET言語のクラスはどの言語でも互換性がある?

表題のような話を聞いた事があるのですが、真偽はどうなのでしょうか? 例えばC++.NETでDLLを作成し、それをC#.NETの開発で利用可能などと。 .NETFrameworkが仲介する事で言語の依存性を無くすらしいのですが、 そういった利用は可能なのでしょうか? また、利用出来る場合、以下のはどうなのでしょうか?  ・利用出来ない場合というのも存在するか?  ・.NETFrameworkを利用していない言語(例えばC++、   C++.NETのネイティブコンパイル、VBなど)でも   利用する事は可能?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ほぼ100%の互換性があるといっていいでしょう。 > 利用出来ない場合というのも存在するか? 相互利用の為に守らなくてはならない条件があります。 それを意図的に破ることもできます。 > .NETFrameworkを利用していない言語(例えばC++、 >  C++.NETのネイティブコンパイル、VBなど)でも >  利用する事は可能? それができなかった(あるいは非常に困難/面倒だった) から、.NETの仕組みができたのですが。

naktak
質問者

お礼

ご回答ありがとうございます。 なるほど・・・。という事は、.NETFrameworkがインストールされている事を 前提とすれば、.NETFrameworkを利用していない言語での開発でも .NETFrameworkを利用したDLLを利用する事が可能という事なのですね。 Microsoft製のIDEは。

その他の回答 (2)

回答No.3

> .NETは.NETの世界だけで限定されてしまうのですね。 VC++8(C++/CLI)なら 既存のC/C++と.NETの双方を呼び出せます。

naktak
質問者

お礼

何度もご回答ありがとうございます。 C++に関してだけ言えばちょっと動作が違うんですね~。 でも.NET系なら何でも呼べるという事ですから、 何かライブラリ的なものを作る時はどの言語をベースにしても 支障はないという事ですね^^

回答No.2

> という事は、.NETFrameworkがインストールされている事を > 前提とすれば、.NETFrameworkを利用していない言語での開発でも > .NETFrameworkを利用したDLLを利用する事が可能という事なのですね。 違います。 .NETな言語同士なら自由に呼び出す/呼び出されることができるってことです。

naktak
質問者

お礼

.NETは.NETの世界だけで限定されてしまうのですね。 .NETFrameworkを入れなければならない事が前提ですが、 それでも便利になったもんですね~。

関連するQ&A