c# 委托的定义及使用实例

原创 2016年08月31日 08:47:17
namespace 委托测试
{

    //小明类
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //声明一个委托,其实就是个“命令”
        public delegate void BugTicketEventHandler();
        public delegate void BugTicketEventHandler2(object obj);

        private void button1_Click(object sender, EventArgs e)
        {
            //不带参数委托调用
            //这里就是具体阐述这个命令是干什么的,本例是MrZhang.BuyTicket“小张买车票”
            BugTicketEventHandler myDelegate = new BugTicketEventHandler(MrZhang.BuyTicket);

            myDelegate += MrZhang.BuyMovieTicket;

            //这时候委托被附上了具体的方法
            myDelegate();



            //带参数的静态委托调用
            BugTicketEventHandler2 myDelegate2 = new BugTicketEventHandler2(MrZhang.BuyDoorTicket);
            myDelegate2("带参数委拖");

            //带参数的非静态委托调用
            MrZhang MZ = new MrZhang();
            BugTicketEventHandler2 myDelegate3 = new BugTicketEventHandler2(MZ.BuyDoor);
            myDelegate3("非静态带参数委拖");
 
        }
    }

    //小张类
    public class MrZhang
    {
        //其实买车票的悲情人物是小张
        public static void BuyTicket()
        {
            MessageBox.Show("NND,每次都让我去买票,鸡人呀!");
        }

        public static void BuyMovieTicket()
        {
            MessageBox.Show("我去,自己泡妞,还要让我带电影票!");
        }


        public static void BuyDoorTicket(object obj)
        {
            string str = obj as string;
            MessageBox.Show(str);
        }

        public  void BuyDoor(object  obj)
        {
            string str = obj as string;
            MessageBox.Show(str);
        }
    }
}

C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标

在使用QQ的截图功能的时候,是不是觉得它的光标很酷呢?今天就说一下怎么应用自定义光标,在我们的截图工具中使用QQ截图的光标。打开资源:切换到文件资源视图:打开资源文件目录,将光标文件复制到此目录下:选...

C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标

本实例全部文章目录 (一)功能概览 (二)创建项目、注册热键、显示截图主窗口 (三)托盘图标及菜单的实现 (四)基本截图功能实现 (五)针对拖...

C#中定义委托和使用委托

  • 2010年09月11日 00:40
  • 63KB
  • 下载

如何:声明、实例化和使用委托(C# 编程指南)GOOD

下面的示例阐释声明、实例化和使用委托。BookDB 类封装一个书店数据库,它维护一个书籍数据库。它公开 ProcessPaperbackBooks 方法,该方法在数据库中查找所有平装书,并对每本平装书...
  • Baple
  • Baple
  • 2014年05月14日 06:59
  • 623

java netty socket库和自定义C#socket库利用protobuf进行通信完整实例

之前的文章讲述了socket通信的一些基本知识,已经本人自定义的C#版本的socket、和java netty 库的二次封装,但是没有真正的发表测试用例。 本文只是为了讲解利用protobuf 进行...

C#控制台基础 自定义类的实例作为函数的形参,解除形参与实参之间的关联

镇场诗:慈心积善融学习,技术誓为大家学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。 ——————————————————————————————————————————————...

C#控制台基础 自定义类不同实例之间的赋值(引用传递的一个示例)

镇场诗:慈心积善融学习,技术誓为大家学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。 ——————————————————————————————————————————————...

C# 反射详解:定义、创建对象、调用实例方法及静态方法

C# 反射详解 定义 动态创建对象及调用实例方法 1、反射的定义及功能介绍:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c# 委托的定义及使用实例
举报原因:
原因补充:

(最多只允许输入30个字)