您的位置:首页 > 编程语言 > C#

C#温故而知新学习系列之.NET框架高级特性—.NET框架中自身提供的属性(二)

2012-08-31 10:24 453 查看
阅读目录

  一:特性

  二:如何指定属性?

  三:.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;

}

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐