CIL指令“Call”和“Callvirt”之间有什么区别?
最佳答案
call
用于调用非虚拟,静态或父类(super class)方法,即,调用的目标不受覆盖。 callvirt
用于调用虚拟方法(因此,如果this
是重写该方法的子类,则将调用子类版本)。
关于.net - Call and Callvirt,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/193939/
CIL指令“Call”和“Callvirt”之间有什么区别?
最佳答案
call
用于调用非虚拟,静态或父类(super class)方法,即,调用的目标不受覆盖。 callvirt
用于调用虚拟方法(因此,如果this
是重写该方法的子类,则将调用子类版本)。
关于.net - Call and Callvirt,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/193939/