当前位置: 首页 > news >正文

手机微信怎么创建公众号网站搜索引擎优化公司

手机微信怎么创建公众号,网站搜索引擎优化公司,wordpress短代码按钮,水果网站推广C#中的Attribute详解#xff08;上#xff09; 一、Attribute是什么二、Attribute的作用三、Attribute与注释的区别四、系统Attribute范例1、如果不使用Attribute#xff0c;为了区分这四类静态方法#xff0c;我们只能通过注释来说明#xff0c;但这样做会给系统带来很多… C#中的Attribute详解上 一、Attribute是什么二、Attribute的作用三、Attribute与注释的区别四、系统Attribute范例1、如果不使用Attribute为了区分这四类静态方法我们只能通过注释来说明但这样做会给系统带来很多垃圾信息而且不利于测试。注释区分法如下2、如果使用Attribute区分这四类静态方法将会简单许多。当类Program和类ToolKit都在Program.cs文件中时#define Buged只需要在Program.cs文件头部定义示例代码如下 五、系统Attribute范例分析 一、Attribute是什么 Attribute是一种可由用户自有定义的修饰符Modifier可以用来修饰各种需要被修饰的目标修饰符比如private、public、static、override、virtual等等是C#语言本身的关键字。 简单地说Attribute就是一种“附着物”——就像牡蛎吸附在船底或礁石上一样。 这些附着物的作用是为它们的附着体追加上一些额外的信息这些信息保存在附着物的体内——比如“这个类是我写的”或者“这个函数以前出过问题”等等。 二、Attribute的作用 Attribute的作用是为元数据添加内容。 元数据可以被工具支持比如编译器用元数据来辅助编译调试器用元数据来调试程序。 三、Attribute与注释的区别 注释是对程序源代码的一种说明主要目的是给人看的在程序被编译的时候会被编译器所丢弃因此它丝毫不会影响到程序的执行。 Attribute是程序代码的一部分它不但不会被编译器丢弃而且还会被编译器编译进程序集Assembly的元数据Metadata里。在程序运行的时候你随时可以从元数据中提取提取出这些附加信息并以之决策程序的运行。 四、系统Attribute范例 在项目中某个类由两个程序员小张和小李共同维护。这个类起到了“工具包”Utilities的作用里面包含几十个静态方法就像.Net Framework中的Math类一样。这些静态方法一半是小张写的、一半是小李写的在项目的测试中有一些静态方法曾经出过bug后来又被修正。 我们可以把这些方法分成这样几类 我们分类的目的主要是在测试的时候可以按照不同的类别进行测试、获取不同的效果。比如统计两个人的工作量或者对曾经出过bug的方法进行回归测试。 1、如果不使用Attribute为了区分这四类静态方法我们只能通过注释来说明但这样做会给系统带来很多垃圾信息而且不利于测试。注释区分法如下 public static void Li_Buged_FuncA(){ } public static void Li_NoBug_FuncB(){ } public static void Zhang_Buged_FuncC(){ } public static void Zhang_NoBug_FuncD(){ }//或//Created by Li,Buged public static void FuncA(){ } //Created by Li,NoBug public static void FuncB(){ } //Created by Zhang,Buged public static void FuncC(){ } //Created by Zhang,NoBug public static void FuncD(){ } 2、如果使用Attribute区分这四类静态方法将会简单许多。当类Program和类ToolKit都在Program.cs文件中时#define Buged只需要在Program.cs文件头部定义示例代码如下 #define Buged //C#的宏定义必须在所有代码之前。当前只让Buged宏有效 //#define NoBug //#define Li //#define Zhang using System; using System.Diagnostics;//注意ConditionalAttribute特性包含在此命名空间中namespace AttributeTest {class Program{static void Main(string[] args){ToolKit.FuncA();ToolKit.FuncB();ToolKit.FuncC();ToolKit.FuncD();Console.ReadKey();}}public class ToolKit{[ConditionalAttribute(Li)]//Attribute名称的长记法[ConditionalAttribute(Buged)]public static void FuncA(){Console.WriteLine(Created by Li, Buged);}[Conditional(Li)]//Attribute名称的短记法[Conditional(NoBug)]public static void FuncB(){Console.WriteLine(Created by Li, NoBug);}[Conditional(Zhang)][Conditional(Buged)]public static void FuncC(){Console.WriteLine(Created by Zhang, Buged);}[Conditional(Zhang)][Conditional(NoBug)]public static void FuncD(){Console.WriteLine(Created by Zhang, NoBug);}} } 当类Program在Program.cs文件中类ToolKit在ToolKit.cs文件中时#define Buged需要在Program.cs文件头部和ToolKit.cs文件头部均定义示例代码如下 #define Buged //C#的宏定义必须在所有代码之前。当前只让Buged宏有效 //#define NoBug //#define Li //#define Zhang using System; using System.Diagnostics; namespace AttributeTest {class Program{static void Main(string[] args){ToolKit.FuncA();ToolKit.FuncB();ToolKit.FuncC();ToolKit.FuncD();Console.ReadKey();}} }#define Buged //C#的宏定义必须在所有代码之前。当前只让Buged宏有效 //#define NoBug //#define Li //#define Zhang using System; using System.Diagnostics; namespace AttributeTest {public class ToolKit{[Conditional(Li)][Conditional(Buged)]public static void FuncA(){Console.WriteLine(Created by Li, Buged);}[Conditional(Li)][Conditional(NoBug)]public static void FuncB(){Console.WriteLine(Created by Li, NoBug);}[Conditional(Zhang)][Conditional(Buged)]public static void FuncC(){Console.WriteLine(Created by Zhang, Buged);}[Conditional(Zhang)][Conditional(NoBug)]public static void FuncD(){Console.WriteLine(Created by Zhang, NoBug);}} }运行结果如下 注意运行结果是由代码中“#define Buged ”这个宏定义所决定。 五、系统Attribute范例分析 1、在本例中我们使用了ConditionalAttribute这个Attribute它被包含在System.Diagnostics命名空间中多半时间是用来做程序调试与诊断的。 2、与ConditionalAttribute相关的是一组C#宏它们看起来与C语言的宏别无二致位置必须在所有C#代码之前。顾名思义ConditionalAttribute是用来判断条件的凡被ConditionalAttribute或Conditional”附着”了的方法只有满足了条件才会执行。 3、就像船底上可以附着很多牡蛎一样一个方法上也可以附着多个ConditionalAttribute的实例。把Attribute附着在目标上的书写格式很简单使用方括号把Attribute括起来然后紧接着写Attribute的附着体即可。当多个Attribute附着在同一个目标上时就把这些Attribute的方括号一个挨一个地书写或者在一对方括号中书写多个Attribute而且不必在乎它们的顺序。 4、在使用Attribute的时候有“长记法”和“短记法”两种。 由上面的第三条和第四条我们可以推出以下四种Attribute的使用方式完全等价 //长记法 [ConditionalAttribute(Li)] [ConditionalAttribute(NoBug)] public static void Func() {Console.WriteLine(Created by Li, NoBug); } //短记法 [Conditional(Li)] [Conditional(NoBug)] public static void Func() {Console.WriteLine(Created by Li, NoBug); } //换序 [Conditional(NoBug)] [Conditional(Li)] public static void Func() {Console.WriteLine(Created by Li, NoBug); } //单括号叠加 [Conditional(NoBug),Conditional(Li)] public static void Func() {Console.WriteLine(Created by Li, NoBug); }
http://www.hkea.cn/news/14424462/

相关文章:

  • the7 做的网站优化电池充电是关闭还是打开好
  • 上海 网站开发 外包网站建设的个人总结
  • 网站建设好找工作吗做网站常用的英文字体
  • dedecms做图库网站教育网站解决方案
  • 做网站公司 蓝纤科技大淘客优惠券网站是怎么做的
  • 如何把网站主关键词做到百度首页连云港网站开发公司
  • aqq网站开发wordpress 淘宝客插件
  • 中国房地产app下载安装最新版厦门最好的seo公司
  • 公司网站开发费用记入什么科止西宁网站怎么做seo
  • php如何制作网站网络营销首先要做什么
  • 网站正在建设中html炫富做图网站
  • 网网站建设与制作网站建设全包 广州
  • 网站后台系统访问奉贤宜昌网站建设
  • 商城网站页面模板什么网站可以做英语题
  • 大兴网站建设一条龙网页设计需要学什么语言
  • 优设网站官网大连市建设网
  • 网站服务器维护工具马鞍山网站制作
  • 网站建设平台案例网站的icon图标做多大
  • 网站建设 碧辉腾乐北京网站建设降龙
  • 中鼎国际建设集团网站视频点播网站开发教程
  • 做网站买那种服务器好搭建网站宣传
  • 不要域名能建网站么太原百度seo优化推广
  • 网站更改了资料 百度什么时侯来抓取交互式网站和非交互式网站
  • 如果提高网站小程序制作需要什么技术
  • 电商网站开发技术难点wordpress 主题 百科
  • 合肥家居网站建设怎么样最新网站制作公司哪个好
  • 网站建设的利润率多少成都 企业网站设计
  • 怎样做网站的优化排名宁远做网站
  • 网站怎么盈利网站换空间上怎么办
  • 网站优化建设扬州wordpress如何修改栏目的模板