首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在另一个程序集中调用方法的CIL十六进制代码

在另一个程序集中调用方法的CIL十六进制代码
EN

Stack Overflow用户
提问于 2017-04-10 00:46:45
回答 1查看 266关注 0票数 0

例如,我正在程序集A中编写代码,我要调用的方法是程序集B中的0x06000DF2。这是十六进制dnSpy为我创建的6F8701000A,但我不知道它是如何计算的。请解释给我听。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-10 10:47:25

第一个字节(6F)表示它是callvirt指令,其余4个字节是方法小端字节顺序的元数据标记。

代码语言:javascript
复制
callvirt 0x0A000187

元数据令牌是对当前模块(包含IL的模块)元数据中特定表中特定行的引用。高阶字节表示令牌的类型(因此,要查找哪个元数据表),而其余的3个字节表示表中的行号。0x0A表示目标行位于MemberRef表中,引用的记录将提供查找正确成员所需的详细信息。

MemberRef表在ECMA-335分区II第22.25节中进行了描述。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43313484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档