委托简单的用法

委托

通俗的解释

1.方法指针的容器,就是一个能存放符合某种格式(方法签名)方法指针的清单。

2.委托是一个类

创建委托

namespace ConsoleApplication3
{
    //定义一个委托类   方法签名无返回值、无参
    public delegate void DgSayHi();
}

调用委托

        static void Main(string[] args)
        {
            Program program = new Program();
            program.Test();

        }
        public void Test()
        {
            //创建委托对象
            DgSayHi dgSayHi = new DgSayHi(SayHiCn);

            //向委托对象中添加一个方法
            dgSayHi += SayHiJp;

            //从委托对象中移除一个方法
            dgSayHi -= SayHiCn;

            //调用委托
            dgSayHi();
        }

        void SayHiCn()
        {
            Console.WriteLine("你好");
        }
        void SayHiJp()
        {
            Console.WriteLine("哦哈哟");
        }
    }

图形描述

时间: 2024-12-11 00:19:38

委托简单的用法的相关文章

模拟java.util.Collection一些简单的用法

/* 需求:模拟java.util.Collection一些简单的用法! 注意:java虚拟机中并没有泛型类型的对象.泛型是通过编译器执行一个被称为类型擦除的前段转换来实现的. 1)用泛型的原生类型替代泛型. 原生类型是泛型中去掉尖括号及其中的类型参数的类或接口.泛型中所有对类型变量的引用都替换为类型变量的最近上限类型, 如对于Cage<T extends Animal>, T的引用将用Animal替换,而对于Cage<T>, T 的引用将用Object替换. 2) */ inte

C#匿名委托简单使用

委托是安全封装方法的类型,类似于 C 和 C++ 中的函数指针. 与 C 函数指针不同的是,委托是面向对象的.类型安全的和可靠的. 委托的类型由委托的名称确定. 使用委托工作有两种方式:一种是事先定义好一个方法,然后委托到该方法上,另外一种就是直接在代码中使用匿名方法. 1.直接使用委托 1 public delegate void Printf(string str); 2 static void Main(string[] args) 3 { 4 Printf printf = Delega

委托简单示例

刚开始初学C#时,对委托和事件觉得太难懂了,最近看到网上有很多写关于这方面的例子,这里我就mark一下,按自己理解的记下来,权当记个笔记 一,委托 首先,我们定义一个委托,名字就随便取了,自己看的懂就行 public delegate int myDelegate(int x); 为了这个委托,咱写个返回值与参数与之相同的方法 public static int GetXXX(int x) { Console.WriteLine(x * 2); return x * 2; } 方法很简单,传进来

Tinyxml简单使用法

1.概要介绍一下: 尝试了tinyxml,rapidxml,libxml2等3中第3方库,前两者相对较为轻量级,libxml2非常完善,强大. 这是网上总结出来的优缺点: 1.tinyxml当节点内容的空而使用GetText()方法时候会出错 2.rapidxml编码问题不是特别好 3.libxml2对内存释放要求较高,否则时常遇到core dump. TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译.这个解析库的模型通过解析XML文件,然后在

VSFTPD简单的用法

在公司的业务中,有一些常用的软件是公开使用的,比如XSHELL这一些常用的,用的时候总不能在去下载吧!!!所以公司中就会搭建一些共享服务器等,本次介绍的就是VSFTPD的用法 (本次要求,将vsftpd做出来,实现匿名用户可以上传) 客户机可以从服务器上上传下载     192.168.1.100     ---------->     192.168.1.1    pc客户机----------------------------ftp服务器 第一步,安装软件包本次采用yum的方式安装,也可以

C# 委托简单使用方法

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace C04委托的简单使用 { public delegate void SayHi(); class Program { static void TestDelegate(SayHi s) { s(); } static void Main(strin

委托、Lambda表达式、事件系列01,委托是什么,委托的基本用法,委托的Method和Target属性

委托是一个类. namespace ConsoleApplication1 { internal delegate void MyDelegate(int val); class Program { static void Main(string[] args) { } } } 使用Reflector查看委托的IL代码:○ 委托的确是一个类○ 委托的构造函数接收方法和类实例○ 而且是多播委托,可以用+=为委托变量赋值○ 委托内部使用Invoke方法触发方法○ BeginInvoke和EndInv

关于 AppDelegate 、UIApplication 简单的用法

由于接触ios不久,虽然项目可以做,但是对于UIApplication.AppDelegate这几个概念不是很熟悉,今天早上总结整理一下,找到一篇不错的博文,我就分享出来了. UIApplication.AppDelegate.委托等的关系?  什么是委托?为什么要有委托?委托在Iphone中的实现机制是怎样的? 一般来说,我们创建了一个Iphone项目,默认会有这个main.m类,我们都晓得,一个main()方法代表着一个应用程序的入口,  以下是对应的main.m的方法体: int main

UITextField简单的用法

UItextField通常用于外部数据输入,以实现人机交互. 我做了一个简单地例子来做演示: #import "ViewController.h" @interface ViewController ()<UITextFieldDelegate> {//设置全局变量 UITextField *field; UITextField *field1; } @end @implementation ViewController - (void)viewDidLoad { [sup