一:特性: Attribute
1 : 一半放置在类前 属性前 方法前等使用这个特性。对类 属性 方法 附带一些解释的信息。
2 : 特性的格式:[特性名(参数列表)]
例如:
1 不带参数的特性 [Serializable] 定义类前 表示这个类可以被序列化
2 带参数的特性 : [Browable(ture)] 允许属性可以显示窗体属性面板上
3 代多个参数特性 [特性("参数1","参数2")]
多个特性可以通过一个[]进行链接起来
[Browsable(true)],[Description("这是整形的变量")],[Category("外观"), DefaultValue(19)]
特性的分类 : 预定义特性和自定义特性
预定义特性 : .net提供的内置的特性
例如:
1 Obsolete; 定义某个属性或者方法是过时的,然后会在提示请使用其他方法进行替代
[Obsolete(参数1,参数2)]
参数1 是一个提示信息,字符串格式,
参数2 是一个bool值,是不是一个错误,如果是true直接报红色错误。
2 Conditional,条件编译,根据这个特征设置的条件执行对应的方法。
语法:[Conditional(:)] 参数1是一个条件,在from1.cs演示
二 特性的使用:
Obsolete 特性
当某些旧方法过时了,你不想要在使用这个方法了,可以用Obsolete特性来将程序结构标注为“过时”,并且在代码编译时会显示警告信息。
三、特性的属性
- 在一个元素(如类和属性,方法等等)上可以使用一个或多个特性进行修饰。
- 特性可以拥有参数。
- 程序可使用反射来检查自己的元数据或其他程序中的元数据。
四 定义URL
条件编译 根据一个条件执行不同的代码 一般在脚本最上面来进行定义条件,#define进行定义
conditional:将一些函数隔离出来,相比来说特性歌里策略要比 #define不容易出错。
[Conditional("URL")] // 当定义了URl执行f1方法