C# 中的事件与VB中的事件作用相同。但是在C# 中,任何类都可以产生一套事件,并且任何对象都可以捆绑这些事件。C# 中的事件是以Delegates为基础的。设计事件时,通常认为Delegates要接受两个参数:第一个参数是引起事件的对象,第二个参数是以个包含事件自变量的对象。
现在我们为一个事件定义一个Delegates,当有新邮件到来时将激活这个事件:
===delegate声明=============
pubic delegate void NewMailEventHandler(object Sender, NewMailEventArgs e);
===事件声明=============
public event NewMailEventHandler OnNewMailHandler;
属性
C# 中的属性与VB中的属性相同。请看下面的一个简单属性的例子:
Class Test
{
private string name;
public string Name;
{
get
{
return name
}
set
{
name=value;
}
}
}
get 方法和set 方法都是所谓的“accessor”(存取器)方法。
我们也可以使用virtual、override 或 abstract 修饰符来声明属性。现在我们来设置属性:
Test t= New Test();
t.Name="This is the name"
如同在VB 中一样,要建立一个只读属性,可以省略“get”。注意,属性可以被继承。