「型システム」や「強い型の言語」などについてよく耳にします。現在、私はいくつかの.NET COM相互運用性の問題に取り組んでおり、これは「マーシャリング」に多く対処していました。そして、AFAIK、マーシャリングは、.NETタイプとCOMタイプの間の変換に関するものです。
プログラミング言語などの多くのシナリオでは、型について話すとき、論理的な意味が気になります。
今、私は疑問に思っています:「タイプ」は物理的に何を意味するのでしょうか?ある意味で、私たちは見たり触れたりすることができます。
私の現在の理解では、「タイプ」は計算エンティティのメモリ内表現に他なりません。
返信ありがとうございます。
追加-1
MSDNからの引用:
マネージド/アンマネージド境界を越えてシンプルでブリット可能な構造をマーシャリングするには、最初に各ネイティブ構造のマネージドバージョンを定義する必要があります。これらの構造には、任意の正式な名前を付けることができます。データレイアウト以外に、2つの構造のネイティブバージョンとマネージバージョンの間に関係はありません。したがって、管理対象バージョンには、ネイティブバージョンと同じサイズで同じ順序のフィールドが含まれていることが重要です。(構造の管理対象バージョンとネイティブバージョンが同等であることを保証するメカニズムはないため、非互換性は実行時まで明らかになりません。2つの構造のデータレイアウトが同じであることを確認するのはプログラマーの責任です。)
マーシャリングに関する限り、それはレイアウトの問題です。