C#-------特性与自定义特性

本文介绍了.NET编程中的特性,包括预定义特性的如Serializable和Browsable,以及自定义特性的创建过程、应用场景和功能,如条件编译和反映访问。强调了特性的使用位置和实现构造函数的重要性。
摘要由CSDN通过智能技术生成

特性

特性Attribute---------一般放置在类前 属性前 方法前等使用这个特性 对类 属性 方法 附带一些解释的信息

书写格式---------特性的特点 [特性名(参数列表)]

例如:

1 不带参数的特性 : [Serializable] 定义类前 表示这个类可以被序列化
2 带参数的特性:[Browsablae(true)] 允许属性可以显示窗体属性面板上
带多个参数特性 [特性名("参数1","参数2")]


使用特性 可以使用多个特性

特性的分类 预定义特性和自定义特性

预定义特性 net提供内置的特性
0bsolete: 定义某个属性或者方法是过时,然后会再提示请使用其他方法进行替代
Obsolete(参数1,参数22)
参数1是一个提示信息 字符串格式
参数2是一个bool值 是不是一个错误,如果是true直接报红色错误

Conditional 条件编译 根据这个特性设置的条件执行对应方法

语法:语法[Conditional(参数1)] 参数1是一个条件

自定义特性

创建自定义特性步骤:

1声明自定义特性(创建一个自定义特性类)
2构建自定义特性
3在目标程序上应用自定义特性
4通过反射访问特性,(通过自定义特性访问类型属性和方法)

添加特性使用的地方 例如特性在类前面 、方法前 、字段前等地方进行使用

例如:class 允许特性写在类前面、Constructor 允许特性写在函数前面、Property 允许特性写在属性前面、AllowMultiple 是否允许多用

例子:

创建一个自定义特性:

Attribute 属于特性的基类 任何特性都是继承于Attribute

构建特性功能:根据特性知道当前这个代码开发人员,修改的最后日期,bug的编号等信息

添加属性和方法

每个特性都需要实现至少一个构造函数
私有的属性可以通过构造函数进行赋值
public 可以使用特性进行公开赋值

主知识点辅例子,不积跬步无以至千里,不积小流无以成江河

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值