c# html事件,C#委托及事件

转:https://www.cnblogs.com/vickylinj/p/10922139.html

https://www.cnblogs.com/randomize/articles/2813687.html

1.概念:

在C#中,委托(delegate)是一种引用类型,在其他语言中,与委托最接近的***是函数指针***,但委托不仅存储对方法入口点的引用,还存储对用于调用方法的对象实例的引用。 简单的讲委托(delegate)是一种类型安全的函数指针

2. 如 C++, 函数指针

int Max(int x,int y)

{

return x>y?x:y;

}

int Min(int x,int y)

{

return x

}

//定义一个函数指针,并声明该指针可以指向的函数的返回值为int类型,参数列表中包//括两个int类型的参数

int (*p)(int,int);

//让指针p指向Max函数

p=max;

//利用指针调用Max

c=(*p)(5,6);

3。 C#中委托(函数指针)

在C#中,我们可以使用委托(delegate)来实现函数指针的功能,也就是说,我们可以像使用函数指针一样,在运行时利用delegate动态指向具备相同签名的方法(所谓的方法签名,是指一个方法的返回值类型及其参数列表的类型)。

3.1 建立委托(delegate),过程有点类似于建立一个函数指针。过程如下:

建立一个委托类型,并声明该委托可以指向的方法的签名(函数原型)

delegate void MyDelegate(int a,int b);

建立一个委托类的实例,并指向要调用的方法

//利用委托类的构造方法指定,这是最为常见的一种方式

MyDelegate md=new MyDelegate(Max);

//利用自动推断方式来指明要调用的方法,该形式更类型于函数指针

MyDelegate md=Max;

利用委托类实例调用所指向的方法

int c=md(4,5);

标签:指向,委托,C#,Max,int,事件,函数指针,delegate

来源: https://blog.youkuaiyun.com/weixin_39305628/article/details/112563702

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值