首页 技术 正文
技术 2022年11月15日
0 收藏 897 点赞 4,543 浏览 934 个字

委托是一种全新面向对象语言特性,运行在.Net平台

基于委托,开发事件驱动程序变得非常简单

使用委托可以大大简化多线程变成的难度

理解委托

  int a;   //定义变量

  a=100;//给变量赋值

  int b=a+10; //使用变量

委托,也可以看成一种数据类型,可以定义变量,但是他是一种特殊的变量

委托定义的变量能接受的数值只能是一个方法(函数),可以理解成委托就是一个方法(函数)的指针。

              方法1

方法调用——委托对象    方法2

            方法3

  public delegate void Mydel(string a); //【1】创建一个无返回值无参数的委托    class Program
{
private static void get1( string b) //【2】根据委托定义一个“具体”的方法实现功能
{
Console.WriteLine(b+"你好世界");
}
     private static void get(string c)  //【2】根据委托定义一个“具体”的方法实现功能
{
Console.WriteLine(c+"你好世界");
}
static void Main(string[] args)
{
Mydel my = new Mydel(get); //【3】创建委托对象,关联“具体”方法
my(“中国”);           //【4】通过委托去调用方法(而不是直接使用方法)
       my-=get;      //讲委托变量所代表的具体方法“解绑”
       my+=get1;           //重新指向一个新的方法
Console.ReadKey();
} // public delegate void Mydel(string i); //创建一个无返回值有参数的委托 //class Program
//{
// private static void get(string a) //方法赋给委托也要是无返回值有参数的
// {
// Console.WriteLine("你好世界"+a);
// }
// static void Main(string[] args)
// {
// Mydel mydele;
// mydele = get;
// mydele("中国");
// Console.ReadKey();
// }
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,556
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898