一、ILSpy 介绍
ILSpy是一个开源的 .NET 反编译软件。
利用它,可以看到 C# 代码编译及运行真相,对代码优化非常重要!
通常可以采用这两种方式:
1、写好 C# 源代码,生成 .dll文件,然后将 “.dll文件” 反编译为 “IL代码”。可以查看 IL 代码运行过程。
2、写好 C# 源代码,生成 .dll文件,然后将 “.dll文件” 反编译为 “C#代码”。对比两份C#代码,可以看出 “一些C#语法糖的原理” 、“编译器自动帮我们做了什么代码调整或优化” 等。
二、在 Unity 中的使用
Unity 中,每次修改C#代码并编译后,Assembly-CSharp.dll 文件 将会被放入 \Library\ScriptAssemblies 下。
这个文件夹下也放着Unity依赖的一些 .dll文件,如:UnityEngine.UI.dll、Unity.Timeline.dll 等。
将这些文件拖入 ILSpy中,即可查看。
如下一段C# 代码:
using UnityEngine;
public class Test : MonoBehaviour
{
void Start()
{
int a = 1;
int b = 2;
string c = "abc" + "efg";
Debug.Log("Hello NRatel");
Debug.Log("Hello ILSpy");
Debug.Log("Hello C# and IL");
Debug.Log(a + b);
Debug.Log(c);
}
}
查看反编译后的 IL 代码:
查看反编译后的 C# 代码:
三、IL 语言
IL 是.NET框架中中间语言(Intermediate Language)的缩写。