|
|
1
2
无论您是否指定,编译器总是创建使用类名设置字段的IL。这个
例如,如果在testproject命名空间中有一个名为testclass的类,并且它包含一个名为testone的字段,那么请执行以下操作:
像这样编译成IL:
无论是否指定了“this”,实例变量始终使用完整的类信息进行设置。 编辑评论: 在C中,您可以在方法中使用它作为关键字,因为参数列表中的第一个参数是“this”,即使没有指定它。例如,假设我们使用这样的方法:
当您查看calltestmethod的IL时,它将如下所示:
在这种情况下,编译器将加载
|
|
|
2
3
在clr级别支持此功能。槽0处的参数变量表示“this”指针。C基本上会将此调用生成为ldarg.0 |