.NET:属性是什么时候实例化的,我能得到它们所修饰的类型的引用吗?

.NET:属性是什么时候实例化的,我能得到它们所修饰的类型的引用吗?,.net,attributes,.net,Attributes,关于属性的两个问题: 属性类何时实例化?第一次访问类型时,还是在执行开始时 在attribute类中,我可以找出实例化属性的类型吗 我的想法是,我想列出程序集中应用了我的属性的所有类。当然,我可以通过反射和检查来迭代所有属性,但如果属性可以在实例化时简单地附加到全局静态列表中,那就更好了。属性是而不是在应用程序启动时自动实例化的。查看哪些类型(或任何IL元素)应用了该属性的唯一方法是迭代所有内容并逐个检查。因此,属性不能自动控制程序 它们基本上是附加在某些东西上的元数据。当反射在运行时实例化表示

关于属性的两个问题:

  • 属性类何时实例化?第一次访问类型时,还是在执行开始时
  • 在attribute类中,我可以找出实例化属性的类型吗

  • 我的想法是,我想列出程序集中应用了我的属性的所有类。当然,我可以通过反射和检查来迭代所有属性,但如果属性可以在实例化时简单地附加到全局静态列表中,那就更好了。

    属性是而不是在应用程序启动时自动实例化的。查看哪些类型(或任何IL元素)应用了该属性的唯一方法是迭代所有内容并逐个检查。因此,属性不能自动控制程序

    它们基本上是附加在某些东西上的元数据。当反射在运行时实例化表示属性的属性类时,将调用它们的构造函数。只有在请求反射时(通过
    Type.GetCustomAttributes
    方法),才会发生这种情况