zoukankan      html  css  js  c++  java
  • 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;
           }

      

  • 相关阅读:
    机器学习与AI相关的资料
    基于React 的前端UI开发框架 及与Electron 的结合 https://cxjs.io/
    快速开发工具:Servoy
    求同网----专门解决物料编码问题!
    AUTOML --- Machine Learning for Automated Algorithm Design.
    iOS- 给App添加内购& 验证购买iOS7新特性
    ffmpeg在iOS的使用
    iOS小技巧:用runtime 解决UIButton 重复点击问题
    iOS应用性能调优的25个建议和技巧
    iOS js oc相互调用(JavaScriptCore)(二)
  • 原文地址:https://www.cnblogs.com/menglin2010/p/2432389.html
Copyright © 2011-2022 走看看