没有合适的资源?快使用搜索试试~ 我知道了~
前言: C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托(Delegate)特别用于实现事件和回调方法。所有的委托都派生自 System.Delegate 类。把一个方法当作参数传递,让其它方法进行调用执行。 1.委托的声明 委托声明决定了可由该委托引用的方法。委托可指向一个与其具有相同标签的方法。 1.1.delegate 1.1.1. 0-23个参数,可以有返回值也可以没有返回值 public delegate int MyDelegateEventHandler (stri
资源推荐
资源详情
资源评论
c#基础知识基础知识—委托委托,匿名函数匿名函数,lambda
前言:前言:
C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托是存有对某个方法的引用的一种引用类型变量。引用可
在运行时被改变。委托(Delegate)特别用于实现事件和回调方法。所有的委托都派生自 System.Delegate 类。把一个方法
当作参数传递,让其它方法进行调用执行。
1.委托的声明委托的声明
委托声明决定了可由该委托引用的方法。委托可指向一个与其具有相同标签的方法。
1.1.delegate
1.1.1. 0-23个参数个参数,可以有返回值也可以没有返回值可以有返回值也可以没有返回值
public delegate int MyDelegateEventHandler (string parm);
注:(1).此委托指向的方法必须是参数为string类型,返回类型为int类型的。其他声明类比所得。
(2).EventHandler是c# 命名规范,当然我理解规范就是可以随意啦。
(3).委托调用时必须判断是否为null不然会报异常
(4).事件也是一种委托
1.1.2.委托的调用委托的调用
MyDelegateEventHandler fun=new MyDelegateEventHandler(method);
or
MyDelegateEventHandler fun=method;
// fun不为空,则调用回调方法
if (fun!= null)
{
fun(val);
}
//fun?.Invoke(val); 简化版本调用
1.1.3.委托的多播委托的多播
每个委托都只包含一个方法调用,如果调用多个方法,就需要多次显示调用这个委托。如果同一个委托调用多个方法,我们就
可以用多播委托
public delegate void MyDelegate ();
public voidMyMethod()
{
//#
}
public void MyMethod1()
{
//#
}
public void MyMethod2()
{
//#
}
MyDelegateEnventHander myDelegate;
myDelegate=new MyDelegateEventHander(MyMethod);
myDelegate+=new MyDelegateEventHander(MyMethod1);
...........
//调用
myDelegate();
注:
1.委托对象可使用 “+” 运算符进行合并;
2.”-” 运算符可用于从合并的委托中移除组件委托;
资源评论
weixin_38661128
- 粉丝: 4
- 资源: 884
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功