看了书 看了msdn 都没看明白怎么为类添加一个简单的事件:
根据语法下如下:public class test
{
   public event void EventName()
   {
         //这因该是声明一个事件啊,怎么会报错啊。
         //我可是按照语法来说的
   }
}谁帮忙写个简单的事件声明 不要涉及委托了
越简单越好 我只想明白原理

解决方案 »

  1.   

    http://www.cnblogs.com/Jingu-st/archive/2006/03/23/356677.html
    这个仔细看一下,应该可以明白。
    你要明白原理就不应该越简单越好。
      

  2.   

    看了他的是调用系统定义好的。 
    例如:
    public delegate void MenuHandler();  //声明委托
    public event MenuHadler MenuSelection; //然后才能声明事件。。其实这只一种声明事件的方法 调用系统的事件。。
    我现在我想自己创建一个事件:
       public event void EventName()
       {
             //这因该是声明一个事件啊,怎么会报错啊。
             //我可是按照语法来说的
       }
    当为什么用这个就报错呢你那文章没有这个的说明。。
      

  3.   

    书商的 msdn的例题都是调用系统委托,在用里面的事件。。
    难道就没人自己创建一个事件吗????????????????郁闷
      

  4.   

    说的是。
    都是书本误导我先写事件在写委托。不过还有一事不明白:
    using System;
    public delegate void del(string message); //声明一个委托
    public class test
    {
        public static void Method(string message)
        {
            Console.Write(message);
        }
        public event del eventname; // 声明一个事件并指向委托类型(del)
        //事件就是用了激活委托,然后委托就调用适合他的方法
        public void fird()
        {
           call    eventname; //定义触发事件的方法
        }
    }
    public class test2
    {
        public static void Main()
        {
            test mm = new test();
            mm.eventname += new del(test.Method); //通过委托将test.Method方法 注册到事件中
            //移除事件mm.eventname -= new del(test.Method);
            //接下来就是如何触发这个事件了  怎么出发事件呢。
        }
    }怎么写才能触发事件呢。
      

  5.   

    using System;
    public delegate void del(string message); //声明一个委托
    public class test
    {
        public static void Method(string message)
        {
            Console.Write(message);
        }
        public event del eventname; // 声明一个事件并指向委托类型(del)
        //事件就是用了激活委托,然后委托就调用适合他的方法
        public void oneventname(string message)  //这是定义触发事件函数
        {//里面的参数要和委托里面参数类型和个一致
            //因为最后还要是传值给他的
            eventname(message);
        }
    }
    public class test2
    {
        public static void Main()
        {
            test mm = new test();
            mm.eventname += new del(test.Method); //通过委托将test.Method方法 注册到事件中
            //移除事件mm.eventname -= new del(test.Method);
            //接下来就是如何触发这个事件了,只要事件触发就会调用test.Method()方法来显示一个字符串
            mm.oneventname("你好\n");
        }
    }
    写完了。