度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 1939|回复: 3
打印 上一主题 下一主题

[分享] 关于C#委托应用与总结

[复制链接]

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
跳转到指定楼层
楼主
发表于 2020-4-24 01:15:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
什么是委托?

官方解释

委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。您可以通过委托实例调用方法。

个人理解

委托是一个持有一个或多个方法的对象,并且该对象可以被执行,可以被传递

使用方法

首先创建一个类或多个类并且创建方法有无参数都可以
使用关键字 delegat 创建委托
实例化类
使用委托类创建委托对象并且为对象赋值 赋值内容为类的方法用对象名和“+”这个符号可以持有多个方法
调用委托  调用方式与函数类同

笔者在这里用案例写一下:

//命名空间
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp3
//定义两个无参类
public class dog
    {
        public void play()
        {
            Console.WriteLine("汪");

        }

    }
    public class cat
    {
        public void play()
        {
            Console.WriteLine("喵");

        }

    }

class Program
    {
        delegate void act();//定义一个委托类型
        static void Main(string[] args)
        {
            dog dog= new dog();//实例化对象
            cat cat = new cat();

            act del = dog.play;//定义委托对象

            del += cat.play;//持有多个方法
            del+= delegate()//lambda表达式
                  {
                      Console.Write("你们在干什么呀!");


                      };
            da();
            Console.Read();
        } }
}




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
沙发
 楼主| 发表于 2020-4-24 01:15:57 | 只看该作者
回复

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
板凳
发表于 2020-4-24 15:50:18 | 只看该作者
回复

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
地板
 楼主| 发表于 2020-4-24 19:17:26 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-28 12:00 , Processed in 0.149342 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表