【AttributeUsage】自定义特性时使用
System.AttributeUsage声明一个Attribute的使用范围与使用原则。
AllowMultiple 和 Inherited 参数是可选的,所以此代码具有相同的效果:
AttributeTarget的值可以参考1。部分可取值如下:
如果 AllowMultiple 参数设置为 true,则返回特性可对单个实体应用多次。
如果 Inherited 设置为 false,则该特性不由从特性化的类派生的类继承。
Attribute.GetCustomAttribute可以获取一个类的Attribute。
[AttributeUsage(AttributeTargets.Class)]
public class VersionAttribute : Attribute
{
public string Name {
get;
set; }
public string Date {
get;
set; }
public string Describtion {
get;
set; }
}
[Version(Name = "hyddd", Date = "2009-07-20", Describtion = "hyddd's class")]
public class MyCode
{
//
}
class Program
{
static void Main(
string[] args)
{
var info =
typeof(MyCode);
var classAttribute = (VersionAttribute)Attribute.GetCustomAttribute(info,
typeof(VersionAttribute));
Console.WriteLine(classAttribute.Name);
Console.WriteLine(classAttribute.Date);
Console.WriteLine(classAttribute.Describtion);
}
}