在合作开发.NET操作过程中,假如碰到对标识符执行结论有提出异议时,在原有标识符的此基础上无法找出难题,怎样借由表达方式看其本质,这就须要从校对器下层找难题,这时IL(尾端词汇)是必不可少的此基础了。

IL概要

具体来说介绍呵呵甚么是尾端词汇(全称 IL)?IL的全名是Intermediate Language (IL)将要.NET标识符转化成为机器词汇的两个尾端词汇的简写, 尾端词汇是校对采用高阶 .NET 词汇撰写的标识符后赢得的结论。他们能把他认知为为编订。 对采用当中一类词汇撰写的标识符展开校对后,方可赢得 IL 所聚合的十进制标识符。

ILDasm辅助工具的采用方式

IL尾端词汇查阅辅助工具有ILSpy和ILDasm之类,ILDasm是谷歌非官方公司出品的查阅尾端词汇的辅助工具。ILSpy是开放源码工程项目,在.NET framework黄金时代能查阅尾端词汇操作过程,但而后的.NET Core后虽然捷伊监督机制就无法查阅,根本无法反校对标识符,他们能试试看。接下去看一看ILDasm怎样采用。

采用方式有三种,第三加进到Visual Studio的辅助工具里,接着间接关上ILDasm采用就能了;第三种是在Visual Studio指示提示符输出ildasm关上。上面来单纯如是说呵呵。

1)加进Visual Studio的辅助工具里

关上Visual Studio辅助工具,点选加进加进两个辅助工具,点选指示前面的关上文档边线找出ILDasm所处产品目录点选选上ildasm.exe文档后点选确认就能加进获得成功(图1-1),采用方式间接在辅助工具里关上(图1-2)。

加进的边线一般在:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools文档夹下的。

自动草稿

图1-1 加进

自动草稿

图1-2 关上边线

2)Visual Studio指示提示关上

这个比较单纯,关上Visual Studio指示提示窗口,输出ildasm点选回车方可关上(如图2-1)

自动草稿

二种方式各有优点,根据自己的采用情况来选择关上方式。

ILDasm辅助工具的反校对说明

1)采用方式点选”文档”关上聚合好的dll文档,假如是.NET framework版本能关上.EXE文档查阅尾端词汇。如图2-2

自动草稿

图2-2 关上

2)关上文档中的符号代表(图2-3):

自动草稿

图2-3

3)双击关上MANIFEST,这是程序的清单文档。红色箭头表示引用的外部类库是System.Runtime,如图:

自动草稿

图2-4

4)查阅main方式:

依次展开Program,双击带有mian的图标,如下图:

自动草稿

图 2-5

5)查阅foreach遍历数组的反校对

听说.net假如用foreach遍历数组,在尾端词汇会转换成for循环。他们来看一看反校对的标识符。这里新建了两个数组,分别用for和foreach循环,再新建个List,用foreach遍历,标识符如下:

自动草稿

聚合获得成功后他们看反校对的结论:

下图新建数组的尾端词汇,长这样,他们先略过

自动草稿

先看下图list数组加进和遍历,他们看一看是否有”Enumerator::MoveNext()”,这是foreach遍历的源码,假如看过.net 源码的很熟悉吧!

自动草稿

再来看一看遍历素组的foreach,如下图,没有发原有Enumerator::MoveNext()的字眼吧,说明foreach执行循环未遍历。

自动草稿

虽然篇幅有限,不再做过多说明,感兴趣他们能自己试试看。

结语

水平有限,假如你有更好的想法和建议,欢迎留言讨论。

版权声明:本文来源于网友收集或网友提供,仅供学习交流之用,假如有侵权,请转告版主或者留言,本公众号立即删除。

关注公众号:DotNet合作开发跳槽
自动草稿

举报/反馈

1.本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!