---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------委托是一种可以把引用存储为函数的类型。委托的声明非常类似于函数,但不带函数体,且要使用delegate关键词。委托的声明指定了一个函数签名,其中包含一个返回类型和参数列表。在定义了委托后,就可以声明该委托类型的变量。接着把这个变量初始化为与委托有相同签名的函数引用,之后就可以使用委托变量调用这个函数了,就像该变量是一个函数一样。
class Program
{
//定义委托ProcssDelegate
delegate double ProcssDelegate(double param1, double param2);
static double Multiply(double param1, double param2)
{
return param1 * param2;
}
static double Divide(double param1, double param2)
{
return param1 / param2;
}
static void Main(string[] args)
{
ProcssDelegate procss;
Console.WriteLine("Eneter 2 numbers separated with a comma:");
string input = Console.ReadLine();
int commaPos = input.IndexOf(",");
double param1 = Convert.ToDouble(input.Substring(0, commaPos));
double param2 = Convert.ToDouble(input.Substring(commaPos + 1, input.Length - commaPos - 1));
Console.WriteLine("Enter M to mutiply or D to divide:");
input = Console.ReadLine();
if (input == "M")
{
procss = new ProcssDelegate(Multiply);//初始化procss委托变量
}
else
{
procss = new ProcssDelegate(Divide);
}
Console.WriteLine("Result:{0}", procss(param1, param2));
Console.ReadKey();
}
}
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ----------------------详细请查看: http://net.itheima.com/