c# – 检查方法是否使用PInvoke
作者:互联网
反正有没有检查方法是否使用PInvoke?
我正在使用MethodBase循环遍历程序集中的所有方法,但我想检查该方法是否使用PInvoke.
这是我正在使用的代码:
foreach (MethodBase bases in mtd.GetType().GetMethods())
{
//check if the method is using pinvoke
}
另外,如果有可能,我怎么能检查正在使用的DLL和被调用的函数/入口点?
解决方法:
您可以检查方法是否使用DllImportAttribute进行修饰.如果是,则使用PInvoke.
foreach (MethodBase methodBase in mtd.GetType().GetMethods())
{
if (methodBase.CustomAttributes.Any(cad => cad.AttributeType == typeof(DllImportAttribute))
{
// Method is using PInvoke
}
}
标签:c,pinvoke,system-reflection,methodbase 来源: https://codeday.me/bug/20190613/1231646.html