首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从TypeRef为.Net IL定义TypeSpec

从TypeRef为.Net IL定义TypeSpec
EN

Stack Overflow用户
提问于 2017-12-20 00:25:42
回答 1查看 111关注 0票数 0

我已经构建了自定义IL重写器,可以将自定义代码注入到一些方法中。作为注入的一部分,我想实例化List<int>的对象。我已经找到了列表~1的mdTokenRef。

从这个mdTokenRef中,我如何定义或获取TypeSpec?为此,我可以定义如下所示的TypeSpecBlog。但是,寻找一个ICorProfiler应用程序接口来查找TypeSpec。

代码语言:javascript
复制
COR_SIGNATURE sigListInt[] = { ELEMENT_TYPE_GENERICINST, ELEMENT_TYPE_CLASS, tdList, 0x01, ELEMENT_TYPE_I1 };
EN

回答 1

Stack Overflow用户

发布于 2018-01-10 18:28:44

您不能从mdTokenRef定义TypeSpec,但您可以使用IMetaDataEmit对象并通过GetTokenFromTypeSpec函数定义您的TypeSpec。

要获取IMetaDataEmit对象,可以使用IMetaDataImport,它提供了QueryInterface函数

代码语言:javascript
复制
IMetaDataImport* mdImport;
....
IMetaDataEmit* mdEmit;
HRESULT hr = mdImport->QueryInterface(IID_IMetaDataEmit, (void**)&mdEmit);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47891160

复制
相关文章

相似问题

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