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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[分享] 委托的基本认识

[复制链接]

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
跳转到指定楼层
楼主
发表于 2020-6-30 18:25:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.什么是委托?
1.1委托是一种引用类型,该类型适用于将方法用特定的签名封装,我们可以将委托理解为一个封装了函数指针和方法的特殊类型。
1.2使用委托我们可以将方法封装在委托中,然后调用委托就可以调用其中的方法
2.委托的基本声明格式
修饰符 delegate 返回类型 委托名(参数列表)——返回类型和参数列表要和方法一致
3.如何理解委托
3.1我们可以将委托看作一个箱子,将返回类型和参数列表看作是放进箱子物品的约束了,
将方法看作一个能都被放进箱子里面的物品,当约束被满足,我们就可以将方法放到箱子里面。
4.委托的基本使用规则
4.1首先我们先声明一个委托
4.2创建一个委托实例
4.3根据委托定义一个方法
4.4使用委托调用方法
4.5将委托与方法关联起来
5.下面通过代码理解委托
5.1首先我们有一个用来打印字符串的类
class PrintClass
{
//.定义一个用来打印字符串的方法
public void Print(string str)
{
Console.WriteLine("str");
}
}
5.2现在我们定义一个用来打印Hello的类 里面有一个打印Hello的方法,但是我们不想在自己里面来做打印的动作,我们想要将这个动作交给 PrintClass来做
好了现在我们可以使用委托来完成这件事
class HelloClass
{
  public void PrintHello()
  {
   }
  }
5.2.1首先我们先在类外声明一个委托
public delegate void PrintHandler(string str);
5.2.2我们在 HelloClass类中创建一个委托实例
  public PrintHandler PrintHandle;
5.2.3由于我们已经有一个方法了所以这一步跳过 如果没有 我们就创建一个方法
5.2.4我们在PrintHello中调用委托激活方法
//打印Hello
public void PrintHello()
{
//我们要在这里判断一下委托是否可以被调用
if(PrintHandle!=null)
{
//5.激活委托
PrintHandle.Invoke("Hello");
}
}
5.2.5 我们现在已经准备好了只要将委托与方法关联起来 当调用HelloClass中的PrintHello()的时候 就会调用到PrintClass中的Ptint()
static void Main(string[] args)
{
PrintClass Pc = new PrintClass();
HelloClass Hc = new HelloClass();
//4.将委托和方法关联
Hc.PrintHandle = Pc.Print;

Hc.PrintHello();
}

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

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
沙发
 楼主| 发表于 2020-6-30 18:26:18 | 只看该作者
回复

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
板凳
 楼主| 发表于 2020-6-30 18:27:03 | 只看该作者
回复

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
地板
发表于 2020-6-1 14:11:22 | 只看该作者
回复

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
5#
 楼主| 发表于 2020-6-1 18:47:20 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
6#
发表于 2020-6-2 14:38:16 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 18:37 , Processed in 0.153029 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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