文章目录
前言
Attribute特性是一种高级的语法,在C#和Java中用的比较多。如果你想要了解特性,就需要先了解反射。
相关资料
Attribute特性
Attribute是一个简单的语法,一般来说都是放在类/变量/函数的前面,当然也可以放在参数里面。不过我们这里主要讨论常用的三种情况:
- 类
- 变量
- 方法
个人原理理解
特性的声明与使用
简单的特性声明
namespace NetCore.Models
{
/// <summary>
/// 特性需要以MyAttributeTestAttribute结尾,这个是约定
/// </summary>
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class MyAttributeTestAttribute:Attribute
{
public int Id {
get; set; }
public string Name {
get; set; }
public MyAttributeTestAttribute(string name) {
Name = name;
}
public MyAttributeTestAttribute()
{
}
}
}
为了方便后面的讲解,我们这里声明三个特性
namespace NetCore.Models
{
/// <summary>
/// 类型特性
/// </summary>
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
public class MyClassAttribute:Attribute
{
public string Name {
get; set; }
public MyClassAttribute(string name) {
Name = name;
}
public MyClassAttribute() {
}
}
}