如果我有一个没有操作但返回传入参数的方法,编译器会将其从生成的 MSIL 中删除吗?
例如:
public partial class StringResource {
/// <summary>About</summary>
public static string About { get { return Encode(Resources.WebUI.About); } }
public static string Encode(string s) { return s; }
}
C# 编译器甚至会生成该Encode
方法吗?如何查看生成的 IL 并比较使用和不使用该Encode
方法的代码?
如果静态编译器不删除它,那么运行时 JIT 编译器呢?