Mono.Cecil提供了一种使用method.IsPInvokeImpl
检查方法是否为点名的方法,还提供了带有method.PInvokeInfo
的更多信息。如何找出dll名称?
答案 0 :(得分:2)
P / Invoke方法的IL看起来像这样(例如<input type="number" min="1" name="month" ng-model="year.month"
class="form-control" required />
):
kernel32!LockFile
Mono.Cecil镜像PInvokeInfo
类中的.method assembly hidebysig static pinvokeimpl("kernel32.dll" lasterr winapi)
bool LockFile (
class Microsoft.Win32.SafeHandles.SafeFileHandle handle,
int32 offsetLow,
int32 offsetHigh,
int32 countLow,
int32 countHigh
) cil managed preservesig
{
}
元数据,第一个字符串打包为pinvokeimpl
。因此,ModuleReference
给出了DLL / dylib名称。