MethodInfo.GetCustomAttribute上的FileNotFoundException

时间:2016-12-06 15:15:00

标签: c# .net asynchronous reflection system.reflection

我的目标是显示有关上传的dll中某些类的方法的信息。加载程序集,找到所需的类及其方法已成功完成。现在我试图表明方法是否被声明为“异步”。

我找到了一个告诉我如何操作的帖子:How can I tell if a C# method is async/await via reflection?

无论如何,在测试时,我称之为

(AsyncStateMachineAttribute)methodInfo.GetCustomAttribute(typeof(AsyncStateMachineAttribute))

我收到了System.IO.FileNotFoundException - “无法加载文件或程序集'{assembly identifier}'或其依赖项之一。系统无法找到指定的文件。”。

我在一个未答复的帖子中发现了这个异常,但它对我没有帮助:How to prevent MemberInfo.IsDefined from throwing FileNotFoundException on irrelevant attributes?

我知道我正在查看的方法有一个我的代码不知道的属性。我不想加载该引用,因为它只是一个测试用例,并且可以在相同的情况下找到许多其他不同的属性。

所以,我需要回答两个问题之一:

  1. 有没有办法获取属性“AsyncStateMachineAttribute”,如果它存在,忽略其他属性的错误?

  2. 还有另一种检查方法(来自MethodInfo)是否异步的方法吗?

  3. 提前致谢! :)

0 个答案:

没有答案