- ベストアンサー
.NET言語のクラスはどの言語でも互換性がある?
表題のような話を聞いた事があるのですが、真偽はどうなのでしょうか? 例えばC++.NETでDLLを作成し、それをC#.NETの開発で利用可能などと。 .NETFrameworkが仲介する事で言語の依存性を無くすらしいのですが、 そういった利用は可能なのでしょうか? また、利用出来る場合、以下のはどうなのでしょうか? ・利用出来ない場合というのも存在するか? ・.NETFrameworkを利用していない言語(例えばC++、 C++.NETのネイティブコンパイル、VBなど)でも 利用する事は可能?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ほぼ100%の互換性があるといっていいでしょう。 > 利用出来ない場合というのも存在するか? 相互利用の為に守らなくてはならない条件があります。 それを意図的に破ることもできます。 > .NETFrameworkを利用していない言語(例えばC++、 > C++.NETのネイティブコンパイル、VBなど)でも > 利用する事は可能? それができなかった(あるいは非常に困難/面倒だった) から、.NETの仕組みができたのですが。
その他の回答 (2)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> .NETは.NETの世界だけで限定されてしまうのですね。 VC++8(C++/CLI)なら 既存のC/C++と.NETの双方を呼び出せます。
お礼
何度もご回答ありがとうございます。 C++に関してだけ言えばちょっと動作が違うんですね~。 でも.NET系なら何でも呼べるという事ですから、 何かライブラリ的なものを作る時はどの言語をベースにしても 支障はないという事ですね^^
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> という事は、.NETFrameworkがインストールされている事を > 前提とすれば、.NETFrameworkを利用していない言語での開発でも > .NETFrameworkを利用したDLLを利用する事が可能という事なのですね。 違います。 .NETな言語同士なら自由に呼び出す/呼び出されることができるってことです。
お礼
.NETは.NETの世界だけで限定されてしまうのですね。 .NETFrameworkを入れなければならない事が前提ですが、 それでも便利になったもんですね~。
お礼
ご回答ありがとうございます。 なるほど・・・。という事は、.NETFrameworkがインストールされている事を 前提とすれば、.NETFrameworkを利用していない言語での開発でも .NETFrameworkを利用したDLLを利用する事が可能という事なのですね。 Microsoft製のIDEは。