1。 事件:
类或对象可以通过事件向其他类或对象通知发生的相关事情。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。事件本质上是一组方法。
事件的使用步骤:
 delegate void DL();①
   class TimeOpe
   {
       public event DL sj;②
       int step;
       public int Step
       {
        
           set { step = value; }
       }
       public void Begin()
       {
           while (step > 0)
           {
               Console.WriteLine("下课");
               Console.WriteLine(DateTime.Now.ToString());
               Thread.Sleep(2000);
               step--;
           }
           sj();⑤
       }
   }
   class myclass
   {
       static void Main()
       {
           TimeOpe to = new TimeOpe();
           to.sj += show;④
           to.Step = 1;
           to.Begin();
       }
      static  void show()③
       {
           Console.WriteLine("上课");
           Console.WriteLine(DateTime.Now.ToString());
       }
  
   }
输出结果为:
下课
2010-7-26 16:38:18
上课
2010-7-26 16:38:20
①定义一个与方法相应的委托
②定义关于方法和委托的事件
③定义事件方法
④订阅方法
⑤响应该事件
2。密封类
关键字为:sealed,放于class前,密封类不能用在基类,密封类的主要作用为:防止派生
3。静态类
静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 (CLR) 自动加载。
静态类的主要功能:
1.它们仅包含静态成员。
2.它们不能被实例化。
3.它们是密封的。
4.它们不能包含实例构造函数。
静态类中的构造函数不能有访问修饰符和参数,静态类不能被继承也不能继承其他自定义的类。静态方法可以被重载但不能被重写
4。抽象类
关键字为:abstract。抽象类不能被实例化。抽象类中的实例化函数不可以被调用,只有通过子类来调用。静态函数可通过类名.方法名来调用。抽象类中不能有抽象构造函数也不能有抽象字段。抽象类的访问修饰符不能为private
5。接口
接口的关键字为:interface,接口中只能有public访问修饰符而且public不能手动再次输出。接口也不能被实例化。
6、委托:
委托是一种引用方法的类型,一旦为委托分配了方法委托将与改该方法具有完全相同的行为。
委托的特点:
1。委托类似于 C++ 函数指针,但它们是类型安全的。
2。委托允许将方法作为参数进行传递。
3。委托可用于定义回调方法。
4。委托可以链接在一起;例如,可以对一个事件调用多个方法。
5。方法不必与委托签名完全匹配。
委托的使用:
1。委托的定义:delegate void Dele(int i);
 2。定义方法:
public void Method(int i)
        {
            Console.WriteLine("参数为:{0}",i);
        }
3。关联委托和方法:
Program pro = new Program();
Dele del = new Dele(pro.Method);
del(100);