社区
C#
帖子详情
C#的特性在继承类中不会被继承吗?
美福种田伯
2009-03-04 03:48:55
我想问高手一个问题,C#类的特性(如[STAThread()])。我如果继承了这个类,请问这个特性会被继承下去吗?
...全文
809
3
打赏
收藏
C#的特性在继承类中不会被继承吗?
我想问高手一个问题,C#类的特性(如[STAThread()])。我如果继承了这个类,请问这个特性会被继承下去吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
美福种田伯
2009-03-04
打赏
举报
回复
这位兄台说的非常对!非常感谢
[Quote=引用 1 楼 zwicker 的回复:]
Ok,现在我们来讨论一下最后的这个属性。Inherited, 表明当特性被放置在一个基类上时,它能否被派生类所继承。
[Help("BaseClass")] publicclass Base{} publicclass Derive : Base{}
这里会有四种可能的组合:
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false ]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false ]
[AttributeUsage(Attrib…
[/Quote]
Grave_rain
2009-03-04
打赏
举报
回复
继承嗨没学好,学好了想想!!
zwicker
2009-03-04
打赏
举报
回复
Ok,现在我们来讨论一下最后的这个属性。Inherited, 表明当特性被放置在一个基类上时,它能否被派生类所继承。
[Help("BaseClass")] publicclass Base{} publicclass Derive : Base{}
这里会有四种可能的组合:
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false ]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false ]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true ]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true ]
第一种情况:
如果我们查询(Query)(稍后我们会看到如何在运行期查询一个类的特性)Derive类,我们将会发现Help特性并不存在,因为inherited属性被设置为false。
第二种情况:
和第一种情况相同,因为inherited也被设置为false。
第三种情况:
为了解释第三种和第四种情况,我们先来给派生类添加点代码:
[Help("BaseClass")] publicclass Base{}[Help("DeriveClass")] publicclass Derive : Base{}
现在我们来查询一下Help特性,我们只能得到派生类的属性,因为inherited被设置为true,但是AllowMultiple却被设置为false。因此基类的Help特性被派生类Help特性覆盖了。
第四种情况:
在这里,我们将会发现派生类既有基类的Help特性,也有自己的Help特性,因为AllowMultiple被设置为true。
C#
自定义控件库
C#
自定义控件库
C#
精髓.PDF
C#
精髓(美)阿尔巴哈里(Albahari, B.)等编著;刘基诚译 中国电力出版社,2001 文字版PDF,字体永远清晰。可全书关键字查找,方便随时查阅。
金旭亮《
C#
面向对象程序设计》教案_5:
继承
、接口与多态
金旭亮《
C#
面向对象程序设计》教案_5:
继承
、接口与多态。此教案在前4讲的基础之上讲解初学者者比较难于理解的“多态”
特性
。包括一个39页的PDF文档及数个VS2010示例。前几讲的教案请访问http://bitfan.download.csdn.net/,更新信息请关注金旭亮博客:http://blog.csdn.net/bitfan
C#
总套教程案例(适合初学者)
C#
总套教程案例(适合初学者) 欢迎学习
c#
全面经典总结
c#
全面经典总结 不错的资源 大家分享一下啊
C#
111,126
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章