get all types in assembly with custom attribute

后端 未结 1 830
滥情空心
滥情空心 2020-12-05 18:15

Is there an elegant way to get all the types in an assembly that have a custom attribute?

So if I have a class

[Findable]
public class MyFindableClas         


        
相关标签:
1条回答
  • 2020-12-05 18:38

    I wouldn't think you can dodge enumerating every type in the assembly, checking for the attribute, but you could use LINQ to make the query easier to understand:

    Assembly assembly = ...
    var types = from type in assembly.GetTypes()
                where Attribute.IsDefined(type, typeof(FindableAttribute))
                select type;
    

    EDIT: Moved from MemberInfo.GetCustomAttributes to Attribute.IsDefined based on Marc Gravell's suggestion.

    0 讨论(0)
提交回复
热议问题