操作のないメソッドがあり、渡されたパラメーターを返す場合、コンパイラーは生成された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コンパイラーはどうでしょうか?