【发布时间】:2014-11-26 07:15:30
【问题描述】:
我在 C# 中有一个访问只读字段的简单方法:
IL_0024: ldarg.0
IL_0025: ldfld string MyAssembly.MyClass.TestClass::A
我的自然假设是 this 用于在访问成员字段时加载“this”引用,而这个问题也证实了这一点:Why do I have to do ldarg.0 before calling a field in MSIL?
但是,ldarg 的文档提到它用于加载传递给方法的参数。
对此行为的正确解释是什么?以及如何区分加载“this”引用和加载第一个形式参数到 IL 中的方法?
【问题讨论】: