委托小案例
// Declare delegate -- defines required signature:
delegate double MathAction(double num);
class DelegateTest
{
??? // Regular method that matches signature:
??? static double Double(double input)
??? {
??????? return input * 2;
??? }
??? static void Main()
??? {
??????? // Instantiate delegate with named method:
??????? MathAction ma = Double;
??????? // Invoke delegate ma:
??????? double multByTwo = ma(4.5);
??????? Console.WriteLine(multByTwo);
??????? // Instantiate delegate with anonymous method:
??????? MathAction ma2 = delegate(double input)
??????? {
??????????? return input * input;
??????? };
??????? double square = ma2(5);
??????? Console.WriteLine(square);
??????? // Instantiate delegate with lambda expression
??????? MathAction ma3 = s => s * s * s;
??????? double cube = ma3(4.375);
??????? Console.WriteLine(cube);
??? }
}
?this.button2.Click += new System.EventHandler(this.button2_Click);
?this.button2.Click += new System.EventHandler(this.button1_Click);
这也是委托的一种,也可以给它委托多个事件,
?
委托: 个人理解 就是 委托别人做事情,一件事可以委托多个人,可以得到多种结果,也可以没结果,也就是委托可以委托多个方法,可以有返回值,也可以没返回值!?
?