Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果您只知道属性的完全限定名称,我想知道如何检测方法上的任意属性。
前任:
[MyAttribute] public void SomeMethod() { }
基于包含类型名称+程序集的字符串,我是否可以检测方法是否包含字符串描述的属性?
我想让检测可插入和动态,因此不会引用属性程序集。用户将添加对他们自己想要使用的属性的引用。我只是想实现一个通用方法来检测任何任意方法,只要我有它的完全限定名称。
好的,我可以执行以下操作来查找具有给定属性的所有方法:
Type t; t.GetMembers().Where(m => m.GetCustomAttributes(false).Any(a => a.GetType().Namespace == "Some.nameSpace" && a.GetType().Name == "AttributeName")).ToArray();