我目前正在浏览反编译的 C# IL(使用 ILSpy),以了解其中一些方法System.Runtime.InteropServices
是(可能)如何实现的。当我想查看Marshal.Copy()
是如何实现的时候,发现它只调用了CopyToNative()
,定义如下:
// System.Runtime.InteropServices.Marshal
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void CopyToNative(object source, int startIndex, IntPtr destination, int length);
它在哪里实施?有没有机会查看它的(反编译的)源代码?如果没有,是否有人知道如何实施?