获取装配中的所有属性类型(反射)

索伦

我正在尝试获取程序集中存在的某种类型的所有属性。在我的特定情况下,我在Controller上具有属性,而在Actions(MVC)上具有其他属性。有了这段代码,我就能得到想要的东西,但是我很确定有一种避免合并的方法

var assemblyTypes = Assembly.GetExecutingAssembly().GetTypes();
var myAttributes = assemblyTypes
    .SelectMany(x => x.GetCustomAttributes<MyAttribute>()).ToList();
myAttributes = myAttributes.Union(assemblyTypes
    .SelectMany(x => x.GetMethods())
    .SelectMany(x => x.GetCustomAttributes<MyAttribute>())).ToList();
myAttributes = myAttributes.Distinct().ToList();
阿尔曼·埃布拉辛普

我们没有任何将父类型及其成员一起给出的反射方法,因此最好的解决方案是使用以下方式模拟该行为Append

var assemblyTypes = Assembly.GetExecutingAssembly().GetTypes();
var myAttributes = assemblyTypes
    .SelectMany(x => x.GetMethods().Cast<MemberInfo>().Append(x))
    .SelectMany(x => x.GetCustomAttributes<MyAttribute>())
    .Distinct().ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用反射从动态(匿名类型)对象获取属性?

来自分类Dev

如何在没有反射的情况下确定Java中泛型属性的类类型?

来自分类Dev

在Orchard CMS中,如何根据附加零件的属性值获取特定内容类型的所有项目

来自分类Dev

通过反射获取所有ICollection属性

来自分类Dev

C#反射获取嵌套属性类型中GetValues的对象

来自分类Dev

使用反射获取所有Integer数据类型字段

来自分类Dev

获取枚举类型并创建该类型的列表,获取类类型并创建具有反射类型的列表

来自分类Dev

如何在C#中使用反射获取方法的所有属性和属性数据

来自分类Dev

MAYA中的PYTHON:获取所有属性

来自分类Dev

C#反射:用文本中的值替换所有出现的属性

来自分类Dev

使用反射获取在Scala中实现特征的所有类

来自分类Dev

C#获取C#中某种对象类型的所有属性

来自分类Dev

使用反射获取对象的所有属性-但仅获取对象为其具有值的属性(不是默认值或null)

来自分类Dev

Scala运行时反射甚至可以为内部类获取特定类型的所有成员

来自分类Dev

如何忽略使用反射继承的类的所有隐藏属性?

来自分类Dev

使用通用类型对象的反射获取属性

来自分类Dev

如何使用反射从动态(匿名类型)对象获取属性?

来自分类Dev

如何从Winrt的装配中获取自定义属性

来自分类Dev

反射从DLL中的所有类型获取价值

来自分类Dev

使用反射将类中的所有静态属性作为对象获取VB.NET

来自分类Dev

MAYA中的PYTHON:获取所有属性

来自分类Dev

使用反射获取列表属性类型

来自分类Dev

如何在C#中使用反射从类型和设置属性值中按名称获取属性

来自分类Dev

如何使用反射递归获取类型的属性?

来自分类Dev

使用反射获取 T obj 中的所有 DateTime 和 Nullable<DateTime> 属性

来自分类Dev

如何使用反射来处理所有类型?

来自分类Dev

从对象中获取所有属性,包括引用成员的属性

来自分类Dev

使用反射获取属性

来自分类Dev

从类中获取所有静态属性

Related 相关文章

  1. 1

    如何使用反射从动态(匿名类型)对象获取属性?

  2. 2

    如何在没有反射的情况下确定Java中泛型属性的类类型?

  3. 3

    在Orchard CMS中,如何根据附加零件的属性值获取特定内容类型的所有项目

  4. 4

    通过反射获取所有ICollection属性

  5. 5

    C#反射获取嵌套属性类型中GetValues的对象

  6. 6

    使用反射获取所有Integer数据类型字段

  7. 7

    获取枚举类型并创建该类型的列表,获取类类型并创建具有反射类型的列表

  8. 8

    如何在C#中使用反射获取方法的所有属性和属性数据

  9. 9

    MAYA中的PYTHON:获取所有属性

  10. 10

    C#反射:用文本中的值替换所有出现的属性

  11. 11

    使用反射获取在Scala中实现特征的所有类

  12. 12

    C#获取C#中某种对象类型的所有属性

  13. 13

    使用反射获取对象的所有属性-但仅获取对象为其具有值的属性(不是默认值或null)

  14. 14

    Scala运行时反射甚至可以为内部类获取特定类型的所有成员

  15. 15

    如何忽略使用反射继承的类的所有隐藏属性?

  16. 16

    使用通用类型对象的反射获取属性

  17. 17

    如何使用反射从动态(匿名类型)对象获取属性?

  18. 18

    如何从Winrt的装配中获取自定义属性

  19. 19

    反射从DLL中的所有类型获取价值

  20. 20

    使用反射将类中的所有静态属性作为对象获取VB.NET

  21. 21

    MAYA中的PYTHON:获取所有属性

  22. 22

    使用反射获取列表属性类型

  23. 23

    如何在C#中使用反射从类型和设置属性值中按名称获取属性

  24. 24

    如何使用反射递归获取类型的属性?

  25. 25

    使用反射获取 T obj 中的所有 DateTime 和 Nullable<DateTime> 属性

  26. 26

    如何使用反射来处理所有类型?

  27. 27

    从对象中获取所有属性,包括引用成员的属性

  28. 28

    使用反射获取属性

  29. 29

    从类中获取所有静态属性

热门标签

归档