C#中委托的基本概念介绍

前端技术 2023/09/03 C#

最近在看深入理解C#,发现这是一本很不错的书,将很多C#的知识点联系了起来,更像是一本C#历史书,从C# 1一步步介绍到C# 4。

所以准备一边看,一边整理读书笔记。那么就先从委托开始。

委托是C#中一个非常重要的概念,从C# 1开始就有了委托这个核心概念,在C# 2和C# 3中委托又有了很多改进。

通过委托,我们可以将一个方法当作对象封装起来,并且在运行时,我们可以通过这个对象来完成方法的调用。

委托的使用

首先,来个简单的例子,苹果只负责设计iphone,而把组装iphone的工作委托给富士康做。

复制代码 代码如下:

class Apple
{
    //声明委托类型
    public delegate void AssembleIphoneHandler();
    public AssembleIphoneHandler AssembleIphone;

    public void DesignIphone()
    {
        Console.WriteLine(\"Design Iphone By Apple\");
    }
}

class Foxconn
{
    //与委托类型签名相同的方法
    public void AssembleIphone()
    {
        Console.WriteLine(\"Assemble Iphone By Foxconn\");
    }
}

class Program
{
    static void Main(string[] args)
    {
        Apple apple = new Apple();
        Foxconn foxconn = new Foxconn();

        //创建委托实例
        apple.AssembleIphone = new Apple.AssembleIphoneHandler(foxconn.AssembleIphone);

        apple.DesignIphone();
        //委托实例的调用
        apple.AssembleIphone();
        //通过Invoke进行显示调用
        //apple.AssembleIphone.Invoke();

        Console.Read();
    }
}

本文地址:https://www.stayed.cn/item/8776

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。