这个问题来自论坛提问,对于初学者来说确实比较陌生,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