当前位置: 代码迷 >> C# >> 求大神帮看C#委托事件有关问题
  详细解决方案

求大神帮看C#委托事件有关问题

热度:48   发布时间:2016-05-05 02:37:00.0
求大神帮看C#委托事件问题
初学C#  不太懂事件,看了好几天书也没摸透,不知道我这个写法对不对?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test1
{
    class Program
    {
        public delegate void Speek(string name);
        public event Speek SpChick;
        static void Main(string[] args)
        {
            Program p = new Program();
           // p.Show("王熙中",p.CN);
            Speek sp = new Speek(p.CN);
            sp("王熙中1");
            Speek sp1 = new Speek(p.EN);
            sp1("王熙中2");
            p.SpChick += sp;
            p.SpChick += sp1;
            p.Chick();
            Console.ReadKey();

        }
        public void CN(string name)
        {
            Console.WriteLine("你好!"+name);
        }
        public void EN(string name)
        {
            Console.WriteLine("Hi"+name);
        }
        public void Chick()
        {
            if (SpChick != null)
            {
                Console.WriteLine("已触发事件");
            }
        }
        //public void Show(string name, Speek SP)
        //{
        //    SP(name+"*");
        //}
    }
}


------解决思路----------------------
看起来没错,delegate和event,你实际运行结果有错吗?
------解决思路----------------------
C# 中的委托和事件
这篇博文仔细看一遍、敲敲代码,相信你就搞明白委托事件了。
------解决思路----------------------
运行是没有错的。但是事件和委托不会这样子去用的。你看看楼上的那篇吧。我也看过。写的很好。通俗易懂。
  相关解决方案