Haben Werttypen Type-Objekte?

Ich bin mir sicher, ob der Titel erklärend ist oder nicht, aber ich brauche Hilfe, um das Konzept zu verstehen.

Wir haben eine Klasse (Referenztypen), deren Methodentabelle dem Type-Objekt zugeordnet ist. Zusätzlich zu den Methodentabellen enthält das Typobjekt auch alle statischen Felder, den Typobj-Zeiger und den Synchronisationsblockindex.

CLR verweist auf diese Methodentabelle, wenn Methoden für eine Instanz eines Referenztyps aufgerufen werden.

Die Methodentabelle enthält die AWL für eine bestimmte Methode, mit der der Status von Instanzfeldern geändert wird.

Ebenso können wir Methoden für eine Struktur (Werttypen) definieren.

Wenn zur Laufzeit eine Methode für einen Werttyp aufgerufen wird, verweist die CLR von dort auf die AWL der Methode, die für die Instanz des Werttyps aufgerufen wird.

struct A
{
    // for Immutability of value type
    public readonly int a;

    public void MethodOnValueType()
    {
        // Some code here
    }
}

Wo verweist CLR auf die IL für die Methode mit dem Namen "MethodOnValueType"?

Gibt es ein Typobjekt für den Werttyp im verwalteten Heap?

Ich bin sicher für den Fall von Referenztypen, aber für Werttypen verwirrt.

Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage