我确定标题是否具有解释性,但我需要一些帮助来理解这个概念。
我们有具有与 Type 对象关联的方法表的类(引用类型)。除了方法表之外,类型对象还包含所有静态字段、类型 obj 指针和同步块索引。
CLR 在对引用类型的实例调用方法时引用此方法表。
方法表包含用于更改实例字段状态的特定方法的 IL。
同样,我们可以为结构(值类型)定义方法。
在运行时,当在值类型上调用方法时,CLR 从哪里引用在值类型的实例上被调用的方法的 IL。
struct A
{
// for Immutability of value type
public readonly int a;
public void MethodOnValueType()
{
// Some code here
}
}
CLR 指的是在哪里找到名为“MethodOnValueType”的方法的 IL?
托管堆中的值类型是否有任何类型对象?
我确信引用类型的情况,但对值类型感到困惑。
谢谢。