Многие методы в библиотеке .Net реализованы в собственном коде. Те, которые поступают из самого фрейма, отмечены [MethodImpl(MethodImplOptions.InternalCall)]
. Те, которые исходят из некоторой неуправляемой DLL, отмечены [DllImport]
(например, [DllImport("kernel32.dll")]
). Пока ничего необычного.
Но при написании ответа на другой вопрос, я обнаружил, что существует множество методов, отмеченных [DllImport("QCall")]
. Кажется, что они являются внутренней реализацией .Net(например, GC._Collect()
).
Мой вопрос: что означает [DllImport("QCall")]
? В чем разница между [DllImport("QCall")]
и [MethodImpl(MethodImplOptions.InternalCall)]
?