タイトルが説明的かどうかはわかりますが、概念を理解するための助けが必要です.
Type オブジェクトに関連付けられたメソッド テーブルを持つクラス (参照型) があります。メソッド テーブルに加えて、型オブジェクトには、すべての静的フィールド、型 obj ポインター、および同期ブロック インデックスも含まれます。
CLR は、参照型のインスタンスでメソッドを呼び出すときに、このメソッド テーブルを参照します。
メソッド テーブルには、インスタンス フィールドの状態を変更するために使用される特定のメソッドの IL が含まれています。
同様に、構造体 (値の型) のメソッドを定義できます。
実行時に値型でメソッドが呼び出されると、CLR は値型のインスタンスで呼び出されるメソッドの IL をどこから参照しますか。
struct A
{
// for Immutability of value type
public readonly int a;
public void MethodOnValueType()
{
// Some code here
}
}
「MethodOnValueType」という名前のメソッドの IL を見つけるために、CLR はどこを参照しますか?
マネージ ヒープに値型の型オブジェクトはありますか?
参照型の場合は確かですが、値型については混乱しています。
ありがとう。