C#委托
来源:互联网 发布:淘宝正义哥之家店铺 编辑:程序博客网 时间:2024/06/08 03:31
什么时候用委托?代码想要执行操作,但不需要知道操作细节
相当于c++的函数指针
例如,在c++中
int (*f)(int a, int b); // 声明函数指针
int max (int a,int b) //定义一个求最大值的函数
f =max //令指针变量f指向函数max
c = (*f)(1, 2); //直接调用指针f求最大值
如何使用委托?
1、声明委托类型
2、要有一个方法包含要执行的代码
3、创建一个委托实例
4、调用(invoke)该实例
创建委托实例
1、 如果是静态方法,指定类型名称即可
2、 如果是实例方法,就需要先建一个实例,再调用该方法
如何调用?
调用一个委托实例的方法就可以了。这个方法本身称为Invoke
[委托修饰符] delegate 返回类型 标识符 (形参表)
例如
//该委托可以指向任何传入两个整数返回一个整数的方法
public delegate int BinaryOp(int x,int y)
BinaryOp good = new BinaryOp(A.max) //调用某个对象的方法名
console.writeline(“{0}”,good(10,20))//委托对象间接调用invoke()方法
console.writeline(“{0}”,good.invoke(10,20))//委托对象直接调用invoke()方法
//某个对象的方法的实现
class A
{
static max(int a,int b)
}
阅读全文
0 0
- C#委托-委托概述
- C#委托
- C#委托
- C#委托
- c#委托
- C# 委托
- C#委托
- C# 委托
- c#委托
- C#委托
- c#委托
- C#委托
- C# - 委托
- C#委托
- C#委托
- C#委托
- C# 委托
- c#委托
- 使用fastcoll进行md5碰撞,两个不同的文件md5值一样。
- 版本控制工具Git(Windows端)
- HDOJ 5533 Dancing Stars on Me(凸包,convex hall)
- iOS NSString的讲解(一)
- mybatis源码学习之org.apache.ibatis.datasource.jndi包
- C#委托
- 《深入理解java虚拟机》读书笔记——垃圾收集器
- CRC校验
- Mysql执行更新或删除操作时不以主键作为where条件报错
- JDBC处理大数据案例--处理文本
- POJ1830开关问题-高斯消元
- 欢迎使用CSDN-markdown编辑器
- keepalived实现Tomcat服务双机热备
- UIScrollView滚动视图的基本用法