当前位置:编程学习 > C#/ASP.NET >>

学徒,求大神指教!!

C#的事件,什么是委托?听老师说这个很难理解,想先了解下?不知是否有人指导? --------------------编程问答-------------------- 自己看书会死啊

--------------------编程问答-------------------- 就是看不明白啊!! --------------------编程问答-------------------- 这里有个例子,很详细,希望对你有所帮助 :http://hi.baidu.com/david_dong87/item/a22bb85bcf221c13da163593 --------------------编程问答-------------------- 可以理解为函数指针。说白了就是对具有相同签名的一对方法的一种抽象,相当于抽象出一个模板。比如:

// 具体实现省略
int Add(int a, int b);
int Sub(int a, int b);
int Mul(int a, int b);
int Div(int a, int b);

那么,下面这个委托可以指代以上四种的其中一个进行执行:

delegate int CalcDel(int, int);

那么,现在你就可以这样用:

public int Calc(CalcDel calcDel, int a, int b)
{
    return calcDel(a, b);
}
// 入口
int sum = Calc(Add, 1, 2); // 和:3
int dif = Calc(Sub, 1, 2); // 差:-1
int prd = Calc(Mul, 1, 2); // 积:2
int quo = Calc(Div, 1, 2); // 商:0
--------------------编程问答--------------------
引用 4 楼 youzelin 的回复:
可以理解为函数指针。说白了就是对具有相同签名的一对方法的一种抽象,相当于抽象出一个模板。比如:

// 具体实现省略
int Add(int a, int b);
int Sub(int a, int b);
int Mul(int a, int b);
int Div(int a, int b);

那么,下面这个委托可以指代以上四种的其中一个进行执行:

delegate int CalcDel(int, int);

那么,现在你就可以这样用:

public int Calc(CalcDel calcDel, int a, int b)
{
    return calcDel(a, b);
}
// 入口
int sum = Calc(Add, 1, 2); // 和:3
int dif = Calc(Sub, 1, 2); // 差:-1
int prd = Calc(Mul, 1, 2); // 积:2
int quo = Calc(Div, 1, 2); // 商:0
--------------------编程问答-------------------- 委托是这样一个类型,允许你将一个函数作为参数类型传给一个方法。

我们编写函数来重用,参数使得相同的程序可以处理不同的数据。而委托使得我们相同的程序框架,可以处理不同的程序。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,