可以是CLR令牌为零或负

fir*_*iku 3 .net reflection clr cil reflection.emit

一些.NET反射方法(例如,Module.ResolveField)接受所谓的标记作为参数.这些令牌只是Int32号码.我在反汇编程序中只看到了正数令牌,但一般来说,整数也可以是负数或零.假设CLR令牌只是正面是否安全?

Dam*_*ver 5

它们实际上是指无符号数字.从MS Partition II,第22节(摘自本页):

元数据项(元数据表中的记录)由元数据令牌处理.未编码的元数据令牌是4字节无符号整数,其中包含最高有效字节中的元数据表索引和三个最低有效字节中的基于1的记录索引

假设没有元数据表索引具有最高位设置,则无需担心在将unsignedint 转换为a时int,您将产生溢出或负数.