Overloads和Overrides在元属性继承上的特性

元属性继承可以使用IsDefined函数进行判断,先写出结论

如果使用Overrides,则元属性可以继承,除非在使用IsDefined时明确不进行继承判断,如

pFunction.IsDefined(GetType(DisplayNameAttribute), False)

如果使用Overloads,则元属性不能继承,

如下为测试源码:

  1. Sub Main()
  2. ‘Dim s As New S3()
  3. ‘s.Method()
  4. ‘CType(s, S2).Method()
  5. ‘CType(s, S1).Method()
  6. Dim pFunction As MethodInfo = GetType(S2).GetMethod("Method")
  7. If (pFunction.IsDefined(GetType(DisplayNameAttribute), False)) Then
  8. Console.WriteLine("DisplayName")
  9. Else
  10. Console.WriteLine("No DisplayName")
  11. End If
  12. Console.ReadLine()
  13. End Sub
  14. End Module
  15. Class S1
  16. <DisplayName("s1")>
  17. Public Overridable Sub Method()
  18. Console.WriteLine("这是S1实例方法")
  19. End Sub
  20. End Class
  21. Class S2
  22. Inherits S1
  23. Public Overrides Sub Method()
  24. Console.WriteLine("这是S2实例方法")
  25. End Sub
  26. End Class
  27. Class S3
  28. Inherits S2
  29. ‘Public Overloads Sub Method()
  30. ‘ Console.WriteLine("这是S3实例方法")
  31. ‘End Sub
  32. End Class
时间: 2024-10-31 15:00:06

Overloads和Overrides在元属性继承上的特性的相关文章

【复习】高斯消元解图上期望概率

复习了一下高斯消元解图上期望概率,笔记的话,就直接去看SengXian的blog吧.BZOJ 1444 - [Jsoi2009]有趣的游戏见https://blog.sengxian.com/solutions/bzoj-1444 #include <cstdio> #include <cstring> #include <algorithm> const int N=11; char s[N*2]; int n,m,l,cnt,trans[N*N][N],id[N*N

解决MVC中Model上的特性在EF框架刷新时清空的问题

MVC中关于前端数据的效验一般都是通过在Model中相关的类上打上特性来实现. 但是在我们数据库发生改变,EF框架需要刷新时会把我们在Model上的特性全部清除,这样的话,我们前端的验证就会失效. 因此,我觉得可以使用Partial-局部类(伙伴类) 的方式来实现EF框架刷新特性不清除的功能. 在Model文件夹当中我们先建立一个类,一般命名为“你的类名”+Partial,因为如果直接建立同名类会提示已存在,要求覆盖,或者在别的地方建同名类.(需要在class前面加上Partial 关键字) 然

充电宝:共享光环“附身”也上不了大台面

站在风口上,猪都能飞.这句互联网创业名言,被很多创业者奉为金科玉律.由此我们看到的是,很多创业者拼命向往风口里扎--获得融资太容易了,一不小心就能成为独角兽,由此名利双收.在共享经济风口兴起后,共享打车.共享单车.共享汽车等纷纷上马,如今又出现共享充电宝. 没错,就是那种能给智能移动终端充电,售价不过数十元的充电宝.一件并不起眼的东东,如今却想要借助共享经济风口趁势而起.看似美好的构思,却不一定真的成功.归根到底,风口不是那么好蹭的,充电宝还真上不了台面. 资本市场"饥渴" 共享充电宝

元心操作系统首亮相 移动设备逐渐替代PC产品

11月27日,国产操作系统及其产业在信息安全领域的应用论坛昨日京召开.其中,元心手机操作系统在网络安全周上首次亮相.    中国电子科技集团公司总工程师吴曼青院士在会上表示,大力发展自主可控的智能终端操作系统具有十分重要的作用.未来中国智能终端操作系统产业联盟将联合开展以软件界.知识产权界,构建常态化的交流机制,并联合顶尖机构.高等院校在自主可控基础软件.技术领域开展深度合作,联合产业资源共同打造信息安全产业链,推进安全可控的技术软件和信息安全的同步发展.同时推动国内操作系统产业资源整合,打造世

zz 史上最全--各银行借记卡的年费、小额管理费、转账费等!

史上最全--各银行借记卡的年费.小额管理费.转账费等! 发布时间:2015-01-14 17:28:10 还在迷茫借记卡自费的菜主儿们~菜菜特别整理关于各银行借记卡.存折账户等的年费.小额管理费.转账费等实用信息,欢迎大家更新或者补充完善.觉得有用一定要收藏和分享哟! 工商银行 办卡费5元,年费10元/年,低于300元收小额账户管理费3元/季度,同城跨行取款2元/笔.异地存取款:存款按照结算金额的0.5%收取,最低2元,最高100元;取款按照结算金额的1%收取,最低2元,最高100元; 中国农业

lua编程之元表与元方法

一. 前言 lua是一种非常轻量的动态类型语言,在1993年由由Roberto Ierusalimschy.Waldemar Celes 和 Luiz Henrique de Figueiredo等人发明,lua的设计目标是轻便地嵌入宿主语言,增强系统的可扩展性和可定制性.lua的源码只有两万余行,非常精简小巧,在目前的脚本引擎中,lua的速度是最快的,这也是lua进入程序设计语言前20名,如今已经广泛应用于游戏行业,这几篇文章将会讨论下lua的几个比较重要的特性. 一门语言的类型系统是其最根本

品质差一线,价格差一半,这就是看起来差不多的历史上是价格不等的原因之一!

你家绿松石为什么这么贵,别人家的跟你的料子比你的还好价格可比你的便宜一半.这是普遍客户的心理..今天就讲讲绿松石,为什么品质错一线 价格错一半. 绿松石是宝玉是艺术品 收藏品. 绿松石之美,美在颜色.形状和神韵.关于一块绿松石,人的视觉最灵敏的是颜色.绿松石的颜色首要给人以视觉上的享用.有时多种颜色的物质渗进绿松石内或绿松石与其他矿藏共生,可使人在一块绿松石中赏识到多种颜色,不只令人心旷神怡,乃至能够震撼人心.不一样颜色的绿松石会创造出不一样的气氛.比方:黄色标志着沉着.逻辑;绿色表明开心.高兴

《Java设计模式》之享元模式

Flyweight在拳击比赛中指最轻量级,即"蝇量级"或"雨量级",这里选择使用"享元模式"的意译,是因为这样更能反映模式的用意.享元模式是对象的结构模式.享元模式以共享的方式高效地支持大量的细粒度对象. Java中的String类型 在JAVA语言中,String类型就是使用了享元模式.String对象是final类型,对象一旦创建就不可改变.在JAVA中字符串常量都是存在常量池中的,JAVA会确保一个字符串常量在常量池中只有一个拷贝.Stri

【Python】【元编程】【二】【描述符】

""" #描述符实例是托管类的类属性:此外,托管类还有自己实例的同名属性 #20.1.1 LineItem类第三版:一个简单的描述符#栗子20-1 dulkfood_v3.py 使用 Quantity 描述符管理 LineItem 的属性class Quantity:# 描述符基于协议实现,无需创建子类. def __init__(self,storage_name): self.storage_name = storage_name def __set__(self, in