委托为什么可以实例化

委托为什么可以和字符串一样实例化

分享| 2012-04-10 17:52 menotplayboy | 浏览 306 次

2012-04-10 23:37

#“谁是脑力达人”之地区分类鏖战ing!#

提问者采纳

委托可以实例化啊。首先你的确可以把委托看成一个类,因此委托可以实例化。一般来说委托的整个流程是1、声明对应函数的委托2、将委托实例化3、然后使用这个委托实例但是在现在的.net版本中,微软帮我们省略了委托实例
这个步骤,让我们可以直接传递函数名称。

举个例子:被委托的函数是static void a(){……}

委托为delegate void b();

调用委托的函数为public void c(delegate d){d();}

正常来说我们应该这样做b del_a=new b(a);///实例化委托c(del_a);///使用委托实例但是微软允许我们这样做c(a);
时间: 2024-11-01 12:37:57

委托为什么可以实例化的相关文章

[转载]C#委托和事件(Delegate、Event、EventHandler、EventArgs)

原文链接:http://blog.csdn.net/zwj7612356/article/details/8272520 14.1.委托 当要把方法作为实参传送给其他方法的形参时,形参需要使用委托.委托是一个类型,是一个函数指针类型,这个类型将该委托的实例化对象所能指向的函数的细节封装起来了,即规定了所能指向的函数的签名,也就是限制了所能指向的函数的参数和返回值.当实例化委托的时候,委托对象会指向某一个匹配的函数,实质就是将函数的地址赋值给了该委托的对象,然后就可以通过该委托对象来调用所指向的函

面向对象 设计模式和委托

工厂模式 public class JiSuan { private int a; public int A { get { return a; } set { a = value; } } private int b; public int B { get { return b; } set { b = value; } } public virtual int YunSuan() { return 0; } } //加法类 public class Jia:JiSuan { public o

3.C#中的多重委托

阅读目录 一:多重委托概述   二:多重委托实例    一:多重委托概述 1.委托的调用其实是一个调用列表,可以同时调用多个不同的方法 2.第1个委托加上第2个委托赋予第3个委托,相当于把两个方法按顺序一排,先调用第一个方法,再调用第二个方法 3.当一个委托列表为空的时候,对它进行调用会报错 二:多重委托实例   我们先写一个Number数字类,这个类里面有四个方法,分别是加减乘除,第一个委托实例compute1执行的是AddNumber方法,那么输出3如深红色框所示,第二个委托实例comput

C# 1 – 委托的基本概念

最近在看深入理解C#,发现这是一本很不错的书,将很多C#的知识点联系了起来,更像是一本C#历史书,从C# 1一步步介绍到C# 4. 所以准备一边看,一边整理读书笔记.那么就先从委托开始. 委托是C#中一个非常重要的概念,从C# 1开始就有了委托这个核心概念,在C# 2和C# 3中委托又有了很多改进. 通过委托,我们可以将一个方法当作对象封装起来,并且在运行时,我们可以通过这个对象来完成方法的调用. 委托的使用 首先,来个简单的例子,苹果只负责设计iphone,而把组装iphone的工作委托给富士

从多播委托到事件

一.多播委托 前文提到的委托只是在一个委托类型中存储了一个方法(函数),实际上一个委托变量可以同时绑定多个方法,这些委托形成了一个委托链,每一个委托(实际上是方法)都顺序指向下一个委托,这个委托链就是多播委托. 每一个绑定的方法就像是订阅者一样,等着发布者的消息,而触发委托变量的那个就像是发布者,将出发的信号传给所有的订阅者. 1.订阅者 考虑一个温度控制器的例子,这个控制器拥有两个调温器,一个加热器,当温度低于指定的值时,启动,一个冷却器,当温度高于指定的温度时,启动.二者的类设计如下: 1

C#学习:委托、事件、匿名方法

一.委托: 委托给我的感觉就是一个种类型,可以让方法更具面向对象的特性——你看,其实我也没说明白,因为我也不大理解.还是一步步往下学吧. 具体来说,委托就是一个类似下面的这种东西: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace ConsoleTestCsharp { class Program { d

面向对象——类库、委托

一:类库 引用别人写的类  其实就是一堆类文件,只不过你看不到这些类的源代码,保密性好. 优点:保密性好 缺点:如果这个方法不好用,使用者无法自己去更改它. 1.源代码方法: 可以将直接写好的.cs源代码文件,添加进我的解决方案文件夹下,在解决方案资源管理器中, 项目上右键→添加→现有项,来添加此.cs源代码文件的使用,需要引入相应的命名空间 2.类库方法:       一个dll文件,就是一个类库 它人新建一个类库,在里面编写类和相应的方法,生成后出现一个dll文件,拿过来,放在自己的 程序文

SQL 面向对象(委托)

委托:也称为代理,事件也是一种委托:定义在类的最外面 1.定义委托关键字:delegate函数签名:签名和函数保持一致定义委托的时候要根据函数来定义public delegate int First(int a,int b);指向的方法的返回类型,需要参数必须一致! 2.定义委托变量,指向方法 委托不能被实例化,因为不是类: First f = new JiaFa; //新建委托变量,指向方法,注意!!方法不需要小括号!! 第二次可以使用+= public int JiaFa(int a,int

学习委托

Q1:为什么需要委托? 为了解决C#中没有指针函数的缺陷 有了委托可以实现对函数的调用. Q2:委托怎么理解? 首先用delegate关键字声明一个函数,这个函数就叫做委托. 委托使用需要实例化,他是一个引用类型.他作为函数可以封装方法. Q3:怎么用? delegate int dele(int k); static void Main() { dele d = new dele(add); int k1=d(10); d+=sub; int k2=d(20); dele d2 = add;