• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C#委托delegate使用范例

OC/C/C++ 水墨上仙 2476次浏览

C#委托delegate使用范例

using System;
using System.Collections.Generic;
using System.Text;
namespace Delegate 
{
  //委托简单说就是可以让方法作为变量进行传递.
 //定义委托,它定义了可以代表的方法的类型
   public delegate void MyDelegate(string name);
        
    
    class Program
        { 
            //定义两个和委托相同参数的相同返回值的方法.  要和委托绑定的好像只能是静态方法.因为不是静态方法IDE会报错.
        public static void ShowMessage(string Message)
            { Console.WriteLine("Hello" + Message); }
        public static void SHowMessage(string Message) // 在C#中是区分大小写的,所以这个方法和上面那个不是一样的.
            { Console.WriteLine("你好" + Message); }
static void Main()
        {
            //定义一个委托变量. 然后绑定方法.
            MyDelegate My = new MyDelegate(ShowMessage);
            //现在可以通过这个委托变量来使用方法了.
            My(" Tony");  //这里会输出Hello Tony.   疑问来了. 我们为什么直接使用方法呢? 还定义一个委托变量干嘛? 多写了几行代码. // 其实委托的用处不是在这里. 我们可以试试这样.
           // 委托链, 一个委托变量绑定多个方法.
            My += SHowMessage;
            //输出看看
            My("Tony");  //输出结果将是 HelloTony and 你好Tony.
        }
//////////////// 分割线, 在方法中传递方法.用方法做参数///////////////////////////////////////////////////////
        //定义一个方法. 
        public static void input(string name, MyDelegate Message) //这里面的Message就是委托变量了. 你可以将一个方法传递进去.
        {
            Message(name);
        }
            //////使用方法来作为参数.///////////////
            input("Tony" , ShowMessage);
            input("Tony",SHowMessage);
 
} }


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C#委托delegate使用范例
喜欢 (0)
加载中……