CLR如何处理C#中的extern方法调用

Emb*_*rja 5 c# c#-3.0

我想问为什么所有的extern方法调用都是静态的?CLR如何处理这些调用?

Mar*_*ell 4

外部方法调用是针对非托管代码的。因此,在(托管)对象实例上调用是没有意义的 - 实例方法中的第一个(隐藏)参数是实例引用,也称为this。通常,extern方法只涉及简单类型(基元、字符串等),而不是对象(数组可能除外,甚至它们通常首先解析IntPtr)。