委托是对一类方法的抽象,这类方法有着相同的返回值和参数,我感觉委托解决的关键问题还是过于耦合度的,当然,还有事件处理。声明和使用方法如下(包括匿名方法):
using System;
using System.Collections.Generic;
using System.Text;
namespace 委托
{
public delegate int mydelegate(int a,int b);
class Program
{
static void Main(string[] args)
{
mydelegate calculate = new mydelegate(count.add);
calculate += count.add;//匿名方法
Console.WriteLine(calculate(5, 2));
}
}
class count
{
/// <summary>
/// 加法
/// </summary>
/// <param name="a">第一个加数</param>
/// <param name="b">第二个加数</param>
/// <returns>结果</returns>
public static int add(int a, int b)
{
return a + b;
}
}
}
using System.Collections.Generic;
using System.Text;
namespace 委托
{
public delegate int mydelegate(int a,int b);
class Program
{
static void Main(string[] args)
{
mydelegate calculate = new mydelegate(count.add);
calculate += count.add;//匿名方法
Console.WriteLine(calculate(5, 2));
}
}
class count
{
/// <summary>
/// 加法
/// </summary>
/// <param name="a">第一个加数</param>
/// <param name="b">第二个加数</param>
/// <returns>结果</returns>
public static int add(int a, int b)
{
return a + b;
}
}
}
肩负责任,永不退缩