<.net>委托初探_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > <.net>委托初探

<.net>委托初探

 2013/10/11 12:34:34  striby  博客园  我要评论(0)
  • 摘要:最近在学《.net深入体验与实战精要》。今天就来初步讲解下委托。一句话:委托定义了方法类型,可以将方法当做另一个方法的参数进行传递。委托包涵的只是方法的地址,而不是数据。类似于c指针。委托的语法:1delegatevoidSaydelegate(stringname);delegate是用于声明一个应用类型,用于封装命名方法或匿名方法。委托的使用:现在我想用委托的方法,输入name,将"你好"转换成不同的language输出"你好"+name.usingSystem
  • 标签:.net net

最近在学《.net深入体验与实战精要》。

今天就来初步讲解下委托。

一句话:委托定义了方法类型,可以将方法当做另一个方法的参数进行传递。委托包涵的只是方法的地址,而不是数据。类似于c指针。

 委托的语法:

1  delegate void Saydelegate(string name);

delegate 是用于声明一个应用类型,用于封装命名方法或匿名方法。

委托的使用:

现在我想用委托的方法,输入name , 将"你好"转换成不同的language输出 "你好" + name.

using System;
namespace ConsoleApplication1
{
    //首先声明委托
    public delegate void SayDelegate(string name);
    public class ClassPeople
    {
        public void Saychinese(string name)
        {
            Console.WriteLine("你好," + name);
        }
        public void SayEnglish(string name)
        {
            Console.WriteLine("Hello,"+ name);
        }
        //下面一句调用SayDelegate作为参数,委托调用执行的方法
        public void DoWork(string name,SayDelegate Makesay)
        {
            Makesay(name);
        }
    
    }
    class Program
    {
        static void Main(string[] args)
        {
            ClassPeople cp = new classPeople{};
            //委托实例的调用
            cp.DoWork("",cp.Saychinese);
            cp.DOwork("li",cp.SayEnglish)
            System.Console.ReadLine();
        }
    }
}

 

 

 

发表评论
用户名: 匿名