如何extern
使用反射确定方法是否为 ?
样品方法:
var mEnter = typeof(System.Threading.Monitor).GetMethod("Exit", BindingFlags.Static | BindingFlags.Public);
如何extern
使用反射确定方法是否为 ?
样品方法:
var mEnter = typeof(System.Threading.Monitor).GetMethod("Exit", BindingFlags.Static | BindingFlags.Public);
var isExtern = (mEnter.MethodImplementationFlags
& MethodImplAttributes.InternalCall) != 0;
我不知道有什么直接的方法可以弄清楚,但我可以展示一个我使用过的技巧假设我们有一个包含外部方法的类
class MyClass
{
[DllImport("kernel32.dll")]
public static extern bool Beep(int ferequency, int duration);
public static void gr()
{
}
public void GG()
{
}
}
我们可以通过编写这段代码来检查外部方法
var t = typeof(MyClass);
var l = t.GetMethods();
foreach (var item in l)
{
if (item.GetMethodBody() == null && item.IsStatic)
{
// Method is Extern
}
}