Я пишу некоторые инструменты, чтобы помочь проверить IL, который испускается во время выполнения.Часть этой проверки включает в себя поддержание Stack<Type>
, так как OpCodes испускаются, так что будущие OpCodes, которые используют эти элементы стека, могут быть проверены как использующие надлежащие типы.Однако я не совсем понимаю, как обрабатывать код операции ldind.i
.
Документация Microsoft гласит:
Инструкция ldind.i косвенно загружает собственное значение типа int из указанногоадрес (типа native int, & или *) в стеке как native int.
В C # native int не определен, и я не понимаю, какой тип наиболее точно представляет этоданные.Как я могу определить его размер и какой тип C # следует использовать для его представления?Я обеспокоен тем, что это будет зависеть от системного оборудования.