题
试图找到一些详细参照对错综复杂的属性。任何帮助,将不胜感激。
在这一点上,我特别喜欢知道什么时间运行期间不属性的构造获得跑了?
- 如果是在一类
- 如果是在一个酒店
- 如果是在一个方法
谢谢。
解决方案
构造是援引当你呼叫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
}
}
不隶属于 StackOverflow