首页 / 软件开发 / C# / C#中属性类的作用
C#中属性类的作用2011-06-30 csdn博客 jinjazz这个问题来自论坛提问,对于初学者来说确实比较陌生,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,继承自窗体1public partial class Form2 : Form1然后把Form2切换到设计器的模式,然后双击Form2的工作区域,会直接定位到代码的 private void Form2_FormClosed(object sender,FormClosedEventArgs e)
...{
}而不是先前的 private void Form2_Load(object sender, EventArgs e)
...{
}
对于这个语法比较好奇的朋友请仔细阅读上面msdn的参考文档.简要的说他不是系统规定死的写法,是属性类,可以在运行期去决定做什么,就像一般的类.除了系统已经定义的还可以自己定义.中括号中的语法其实就是一个类的构造函数的调用.我们可以通过反射得到属性类的实例.属性类可以修饰类,变量,属性,成员函数,事件等