C#中属性类的作用

这个问题来自论坛提问,对于初学者来说确实比较陌生,msdn参考文档

http://msdn.microsoft.com/zh-cn/library/system.attribute.aspx

我们先直观的表达一下他的作用之一:

比如一个自定义windows控件的DefaultEvent可以表示一个控件默认事件:

如你双击form他会默认到onLoad事件中,双击button,他会默认到onclick事件中。

一个简单的测试,你添加一个windows窗体1叫Form1,然后增加如下代码

[DefaultEvent("FormClosed")]

public partial class Form1 : Form

然后新建一个窗体2,继承自窗体1

public partial class Form2 : Form1然后把Form2切换到设计器的模式,然后双击Form2的工作区域,会直接定位到代码的 private void Form2_FormClosed(object sender,FormClosedEventArgs e)
    ...{

    }而不是先前的 private void Form2_Load(object sender, EventArgs e)
    ...{
    }

对于这个语法比较好奇的朋友请仔细阅读上面msdn的参考文档.

简要的说他不是系统规定死的写法,是属性类,

可以在运行期去决定做什么,就像一般的类.

除了系统已经定义的还可以自己定义.

中括号中的语法其实就是一个类的构造函数的调用.

我们可以通过反射得到属性类的实例.

属性类可以修饰类,变量,属性,成员函数,事件等

时间: 2024-09-14 14:05:00

C#中属性类的作用的相关文章

高手们,帮忙解决下,关于.net中的类的作用,,肯定对于你们来说很简单,但我现在有点不明白,谢谢

问题描述 各位高手们好现在学习.net,,看了一些关于类..继承..抽像呀...接口...方面的知识.然后自己就有点想不通了..为什么要用类呀...如果是做网站的话..也就是处理数据呀..不就是把数据..添加到数据库..增..删..改..查一些相关操作.还有就是一些数据与数据之间的关系..但是现在碰到类..继承..多态..抽像类呀..接口..等等这些..在程序.怎么用呀..他的好处是什么,为什么要用.这些..请高手们帮小弟解决一下.思想上的障碍,谢谢,,, 解决方案 解决方案二:如果系统复杂了.

android中Builder类干嘛用的

问题描述 android中Builder类干嘛用的 android中Builder类干嘛用的 android中Builder类干嘛用的 android中Builder类干嘛用的 解决方案 主要是保存系统信息,比如安卓版本,版本号等等 解决方案二: Android中Builder类的作用

java-Hibernate实体类中属性的映射

问题描述 Hibernate实体类中属性的映射 我的实体类的其中一个属性的类型是InputStream,映射文件中type要为什么?可以是mediumblob吗? 解决方案 hibernate实体类映射hibernate 无主键的表映射实体类2.Hibernate 实体类映射(两种形式) 解决方案二: 搞什么鬼,实体类的属性类型时InputStream??? 难道不应该是byte[]吗?blob什么的也好--inputStream是一个流,它就不是用来储存数据信息的啊喂 如果有必要保存一个"从某

vb6实体类-Visual Basic 6.0精简版,如何在实体类中定义类属性?

问题描述 Visual Basic 6.0精简版,如何在实体类中定义类属性? 我想在类中定义类属性 玩家类代码 '玩家类 '名称Private Name As String'性别Private Sex As SexEnum'级别Private Level As Integer'当前级别分数Private LevelScore As Integer'总分Private SumScore As Integer'境界Private PlayerRealm As Realm'豆豆虫Private Pla

全面了解python中的类,对象,方法,属性_python

python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性(特征)和行为来描述一个对象的.比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性或特征.它会汪汪叫,会摇尾巴等是它的行为. 我们在描述一个真实对象(物体)时包括两个方面: 它可以做什么(行为) 它是什么样的(属性或特征). 在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象

IE中伪类:hover的使用及BUG

:hover是我们在CSS设计中最常运用的伪类之一,许多绚丽效果的实现离不开伪类:hover,比如我们常见的纯CSS菜单.相册效果等等. 或许用了这么久的伪类:hover,还有部分朋友还不完全了解hover的规则: 引用:在CSS1中此伪类仅可用于a对象.且对于无href属性(特性)的a对象,此伪类不发生作用.在CSS2中此伪类可以应用于任何对象. 但目前IE5.5.IE6仅支持CSS1中的:hover,不过新出的IE7是支持CSS2中的:hover. 当我们用伪类:hover做某些特殊效果时,

PHP中的类-什么叫类(转载)------ 类入门之捷径

PHP中的类-什么叫类 Linuxaid 01-03-08 10:16 1594p Wing--------------------------------------------------------------------------------   在阐述类的概念之前我们来先说说面向对象编程的概念:面向对象的程序设计(Object-Oriented Programming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者.它通过

PHP中的类

                     PHP中的类             作者:酷熊 我觉得自从使用PHP以来最难以理解的概念就是PHP的类.我除了正在学习MySQL一些基本知识以外,对于其他的数据库引擎没有经验.此前对于OOP面向对象编程我也没有经验,OOP对于我来说也是个新鲜事物,但是通过对其原理以及为何如此强大的理解,使我有了一定的我了解如果任何程序都用OOP来实现的话,无疑会得到一个强大的程序:但是对我而言,如果我只是认为自己了解了其中的机制,而不把这种理解应用到编程实践,OOP对

Java中的类反射机制

一.反射的概念 :反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩.其中LEAD/LEAD++ .OpenC++ .MetaXa和OpenJava等就是基于反射机制的语言.最近,反射机制也被应用到了视窗系统.操作系统和文件系统中. 反射本身并不是一个新概念,它可能会使我们联想到光学中的反射概念,尽管计算机科学