Для ссылочного типа макет памяти объекта
| Type Object pointer|
| Sync Block |
| Instance fields...|
Для типа значения макет объекта выглядит
| Instance fields...|
Для ссылочного типа GetType означает поиск объекта из указателя "Тип объекта". Все объекты данного объекта ссылочного типа указывают на объект того же типа (который также имеет таблицу методов).
Для типа значения этот указатель недоступен. Как работает GetType()?
Я проверил с Google, и я нашел этот фрагмент. Это немного туманно. Может кто-нибудь уточнить?
Решение состоит в том, что местоположение в который сохраняет значение, может хранить только значения определенного типа. Это гарантированный верификатором. Источник