C#特性是一种用于在编译时向程序元素添加声明性信息的语言结构。
下面是C#特性的使用方法:
1.使用系统提供的特性:
可以使用系统提供的特性来标记类、方法、属性等,以便在编译时进行验证或者提供其他信息。例如,可以使用Obsolete特性标记一个方法已经过时,以便在编译时发出警告。
[Obsolete("This method is obsolete, use newMethod instead.")]
public void oldMethod()
{// ...
}
2.自定义特性:
可以自定义特性来标记自己的类、方法、属性等。自定义特性需要继承自Attribute类,并且可以包含属性、字段、方法等。
[AttributeUsage(AttributeTargets.All)]
public class TestAttribute : Attribute
{public int TestProp { get; set; }public string TestField;public void Show(){Console.WriteLine("特性中的方法");}
}
3.使用特性:
可以使用特性来标记类、方法、属性等。使用特性时需要在目标元素前加上特性的名称,并且可以为特性的属性赋值。
[Test(TestProp = 123, TestField = "test")]
public class MyClass
{[Test]public void MyMethod(){// ...}[Test(TestProp = 456)]public int MyProperty { get; set; }
}