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