试图找到一些详细参照对错综复杂的属性。任何帮助,将不胜感激。

在这一点上,我特别喜欢知道什么时间运行期间不属性的构造获得跑了?

  • 如果是在一类
  • 如果是在一个酒店
  • 如果是在一个方法

谢谢。

有帮助吗?

解决方案

构造是援引当你呼叫GetCustomAttributes()上述类型,或者。.

其他提示

读取的规范(17.3.2在C#2.0版本)就不确定的。唯一的方式来转换的元数据的一个实例。

所以,你可能需要试验在不同的实现,因为如果它不是指定一定可以有不同的解释。

唯一的事情,这你可以肯定的是,它将所谓的之前是必要的。这不是定义的确切时间构造将被称为。

无论如何,行为是unespecified,所以你不应该依靠每当constructur被称为通过目前的执行情况。

属性是装饰品存储的元数据或有关信息类型。.净框架内使用了大量这种信息做其他处理当时创造的实例。

该特性的构造,只有当要求通过一些其他的类型。GetCustomAttributes()为例。因此,甚至可以创建你自己的属性,然后请求您的定义属性。

public class MyOwnAttribute: Attribute {}

/*在某些时候在另一个class*/

void CheckIfClassIsDecoratedWithMyOwnAttribute()
{
    var instance = new MyClass();
    if (instance.GetType().GetCustomAttributes(typeof(MyOwnAttribute)))
    {
       //do whatever you want
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top