我创建了一个自定义属性,当它被击中时写入控制台,但它似乎没有被击中。这是微软的教程(http://msdn.microsoft.com/en-us/library/sw480ze8.aspx),并且正在2010,.net 4上运行。我猜测它一定是我做错了,但是我看不到它是什么。谁能帮忙?自定义属性没有被击中
这是属性,其代码是从来没有被击中
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)]
public class Author : Attribute
{
private string _name;
private double _version;
public Author(string name)
{
Console.WriteLine(string.Format("author {0} was just created", name));
_name = name;
_version = 1.0;
}
}
这是一个使用它的类 - 它成功地写出构造函数中的代码:
/// <summary>
/// TODO: Update summary.
/// </summary>
[Author("P. Ackerman")]
public class Ackerman
{
public Ackerman()
{
Console.WriteLine("I created Ackerman.");
}
}
这是控制台应用程序调用它并成功地将代码打印到新的Ackerman()构造函数中:
谢谢!
属性与类型定义不是针对类型的实例,所以你不会看到所谓的属性构造除非你试图检查它 – kaj 2012-03-16 11:25:16