黑马501net基础加强net11attribute.pptx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京传智播客教育 (*)Attribute(特性、标记) 就是一个标签,在使用当前类的地方,通过反射获取该特性。 一般为了与Property(属性)区分,所以把attribute翻译成“特性”。 特性没有什么实际意义,就是打了一个标签(可能该类中还会存储一些数据)。 Attribute用来对类、属性、方法等标注额外的信息,贴一个标签。 Attribute的格式:[Attribute类名(构造函数参数)],如果没有参数可以简写为[Attribute类名] 常用内置的Attribute: [Obsolete(推荐用IncAge方法)]:过时成员。一个方法过时一般是不推荐再使用,不会再修改bug,甚至是在今以后版本中删除。 [Bindable]:把属性标记为Bindable,这个属性就可以进行数据绑定 [DisplayName],开发一个电话号码UserControl,将TelphoneNum字段的DisplayName设为“电话号码”。【使用UserControl来演示】 Attribute就是类,Attribute类名一般都以Attribute结尾,使用的时候不用加Attribute这个结尾。使用Attribute的时候给的参数其实就是构造函数 反编译DisplaynameAttribute,发现没有特殊代码。标签本身是没有含义,只是起到标注的作用,具体怎么解释、使用这个标识,是由使用者来决定:属性视图窗口、C#编译器。相当于在放上画一个“拆”,本身这个字没有含义。 北京传智播客教育 (*)自定义Attribute Attribute都从System. Attribute类继承,类名一般以Attribute结尾 创建构造函数 标记类的用途—AttributeUsage标记(标记的标记):AttributeTargets:可以添加到哪些成员上。AllowMultiple:是否允许在一个成员上标记这个Attribute的多个实例,默认false。标注在Attribute类的类名上方。 Attribute只是给类、成员做标记,本身没有什么意义,不会发生任何动作,就像小偷踩点在门上做标记(StealableAttribute)一样,具体这个标记会起到什么作用是由使用这个类、成员的代码决定的。 Property.GetCustomerAttribute() 北京传智播客教育 (*)将一个对象,显示到网页上 1.写一个“ ”WinForm程序“表单生成器”,browser.DocumentText= html 2.[TableName(T_Persons)] class Person { [ColumnName(FName)] public string Name { get; set; } [ColumnName(FAge)] public int Age { get; set; } } NHibernate Person p1 =......; db.Insert(p1); 带数据校验Attribute.。 mvc中类似功能。 北京传智播客教育 (*)练习:正则表达式校验Attribute 编写正则表达式验证器,在属性上根据需要添加RegexValidatorAttribute。这种用法在 MVC中用的非常多 class Customer { [RegexValidator(@^\S+@\S+$)] public string Email{get;set;} [RegexValidator(@^\d{6}$)] public string Postcode{get;set;} [RegexValidator(@^\d{15}$|^\d{18}$)] public string IdNumber{get;set;} } 编写Validate方法,在Validate方法中会对标记了RegexValidator的属性采用指定的正则表达式进行数据校验。步骤: 1、开发RegexValidatorAttribute,提供保存正则表达式的Pattern属性,以及一个接受正则表达式的构造函数。用AttributeUsage标记RegexValidatorAttribute只能添加到属性上。 2、 Validate方法中取得obj对应的Type对象,遍历type.GetProperties()所有属性,如果属性是string类型,并且定义了RegexVa

您可能关注的文档

文档评论(0)

189****0411 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档