码迷,mamicode.com
首页 > Windows程序 > 详细

C#委托持有方法的初阶

时间:2017-10-31 21:27:41      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:定义   col   new   line   class   alarm   reading   需要   rgs   

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

namespace ConsoleApplication13
{
class Program
{
static void Main(string[] args)
{
Cat c = new Cat(); //测试
Dog d = new Dog();
Mouse m = new Mouse();
c.Rigist(d.Alarm);
c.Rigist(m.Run);
c.Walk();
}
}

delegate void IsCatRun(); //定义一个委托 委托说白了就是一种持有方法的方法
class Cat
{
IsCatRun isCatRun; //在需要调用的类中申明这个委托

public void Rigist(IsCatRun isCatRun) //提供注册委托的方法
{
this.isCatRun += isCatRun; //委托持有多种方法时要用 +=
}

public void Walk()
{
Console.WriteLine("猫在走");
Thread.Sleep(3000);
isCatRun(); //在方法执行中加入委托
}

}
class Dog
{
public void Alarm()
{
Console.WriteLine("警告狗来了");
}
}

class Mouse
{
public void Run()
{
Console.WriteLine("都来了快跑!");
}
}
}

C#委托持有方法的初阶

标签:定义   col   new   line   class   alarm   reading   需要   rgs   

原文地址:http://www.cnblogs.com/wanggonglei/p/7763621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!