C#温故而知新学习系列之.NET框架高级特性—.NET框架中自身提供的属性(二)
阅读目录
一:特性
二:如何指定属性?
三:.NET框架提供了哪些内置属性?
四:实例
一:特性
. C#允许在类和类成员上声明特性,这些特性其实也是个类,可以在运行时解释类和类成员的行为,这个特性我们也称之为属性Attribute
. .NET框架提供的内置属性比如:Obsolete是一种特殊的用以声明式的编程机制,其类型是一族继承自System.Attribute的类型,在编译时,这些.NET内置属性会被写入元数据中,以供程序运行或者反射使用
. 允许在其上面声明属性的类型有
1:类和类成员
2:结构
3:接口和接口成员
4:枚举和枚举成员
5:委托
二:如何指定属性?
在代码中指定属性时,将属性名称放在方括号中如:[属性]
三:.NET框架提供了哪些内置属性?
. .NET框架提供了许多内置属性,这些属性都从System.Attribute派生而来
. Obsolete属性用于定义正被替换或者不在有效的代码,该属性有两个参数,一个是Message和IsError,Message用于设置错误信息字符串,IsError默认为false表示在编译代码时发出警告信息,如果该值为true,表示在编译代码时发出错误信息
四:实例
在这里我就只举一个Obsolete这个内置属性的例子,我们看到虽然编译器编译成功了,但是出现了个警告信息,而警告信息的内容就是我们所写的内容
namespace CustomAttribute
{
class Program
{
static void Main(string[] args)
{
string strName = GetName("从小就犯困");
}
[Obsolete("此方法已过时,请升级")]
public static string GetName(string strName)
{
return strName;
}
}
}
我们如果加上另外一个参数且值为true,我们发现编译不过去了,出现错误了,而错误信息的内容就是我们所写的内容
[Obsolete("此方法已过时,请升级",true)]
public static string GetName(string strName)
{
return strName;
}