我试图找到(在运行时)p / invokes及其信息:1)Dll名称2)EntryPoint。
我尝试过这样的事情:Assembly.GetExecutingAssembly().GetCustomAttributesData();
但由于某些原因我虽然在那个程序集中有一个p / invoke但我看不到那里列出的类型DllImportAttribute
。
我很确定在这里遗漏了一些东西。有任何想法吗?
谢谢!
答案 0 :(得分:2)
var pinvokes = from type in Assembly.GetExecutingAssembly().GetTypes()
from method in type.GetMethods(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)
let dllImport = (DllImportAttribute)method.GetCustomAttributes(typeof(DllImportAttribute), false).FirstOrDefault()
where dllImport != null
select new
{
DllName = dllImport.Value,
EntryPoint = dllImport.EntryPoint,
};