如何检索类的所有自定义属性

时间:2013-05-11 09:57:10

标签: .net reflection

我正在尝试检索列表中应用于我班级的所有属性。

我可以看到Attribute.GetCustomAttributes()系列方法,但我只能看到检索程序集,模块,成员和属性的所有属性的方法 - 对于类没有任何内容。将Type作为参数的方法版本不合适,因为它们只返回该类型的属性,而我想按顺序遍历所有属性。

为什么我这样做?我正在扩展我的应用程序,并添加一些我想加载用户代码的简单UI模型,并使用属性来定义控件,例如......

[MyTextBox("Address1:")]
[MyButton("QueryStatus")]
[MyButton("QuerySpeed/Pos")]
public class QueryStatus
{

我已加载程序集并可以访问类Type。还有其他地方我可以找到我的所有自定义属性吗?

1 个答案:

答案 0 :(得分:1)

只需使用Type.GetCustomAttributes()

Type type = ...;
foreach (var attribute in type.GetCustomAttributes(inherit: false))
{
    // Whatever you need to do
}