什么是委托以及案例
using System;
using System.Collections.Generic;
using System.Text;
namespace Delegate
{
//定義委托,它定義了可以代表的方法的類型
public delegate void GreetingDelegate(string name);
class Program
{
private static void EnglishGreeting(string name)
{
Console.WriteLine("Morning, " + name);
}
private static void ChineseGreeting(string name)
{
Console.WriteLine("早上好, " + name);
}
//注意此方法,它接受一個GreetingDelegate類型的參數(shù),該參數(shù)是返回值為空,參數(shù)為string類型的方法
private static void GreetPeople(string name, GreetingDelegate MakeGreeting)
{
MakeGreeting(name);
}
static void Main(string[] args)
{
GreetPeople("Jimmy Zhang", EnglishGreeting);
GreetPeople("張子陽", ChineseGreeting);
Console.ReadKey();
}
}
}
委托是一個類,它定義了方法的類型,使得可以將方法當作另一個方法的參數(shù)來進行傳遞,這種將方法動態(tài)地賦給參數(shù)的做法,可以避免在程序中大量使用If-Else(Switch)語句,同時使得程序具有更好的可擴展性。
詳情進連接:http://baike.baidu.com/link?url=w31jH_nz5roSL25H_-NAdAIOHOdkC1ym_KD19leilwQXjEnZGC7WRCD6ryFzUyFjkVWiY7ZAW4Bzpl8l81g9Ra
總結(jié)
- 上一篇: 怎样在log4j.xml配置文件中引入变
- 下一篇: SeaJs