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;
       }

  

 

 

posted @ 2012-04-05 09:44  David.Meng  阅读(832)  评论(0编辑  收藏  举报