C#中关于delegate的接口实现

C#中关于delegate的接口实现

我在msdn的cs0079的基础上作了修改
 1 using  System;
 2
 3 public   delegate   void  MyEventHandler();
 4
 5 interface  MyInterface
 6 {
 7    event MyEventHandler Pow;
 8}

 9
10 public   class  Class1: MyInterface
11 {
12    private MyEventHandler _e;
13
14    public event MyEventHandler Pow
15    {
16        add
17        {
18            _e += value;
19            Console.WriteLine("in add accessor");
20        }

21        remove
22        {
23            _e -= value;
24            Console.WriteLine("in remove accessor");
25        }

26    }

27
28    public void Handler()
29    {
30        Console.WriteLine("Handler been called ");
31    }

32
33    public void Fire()
34    {
35        if (_e != null)
36        {
37             _e();
38        }

39    }

40}

41
42 public   class  Test
43 {
44    public static void Main()
45    {
46        Class1 p = new Class1();
47        p.Pow += new MyEventHandler(p.Handler);
48        p.Fire();
49        p.Pow += new MyEventHandler(p.Handler);
50        p.Fire();
51        p.Pow -= new MyEventHandler(p.Handler);
52        p.Fire();
53        p.Pow -= new MyEventHandler(p.Handler);
54        p.Fire();
55    }

56}

57

你可能感兴趣的:(C#中关于delegate的接口实现)