private delegate void GreetingDelegate(string name);
private void EnglishPeople(string name)
{
MessageBox.Show("morning"+name);
} private void ChinesePeople(string name)
{
MessageBox.Show("早上好!"+name);
}
private void GreetPeople(string name,GreetingDelegate MakeGreeting)
{
MakeGreeting(name);
} public void button1_Click(object sender, EventArgs e)
{
GreetPeople("成龙",ChinesePeople);
}想问一下大家 MakeGreeting 为什么能代表EnglishPeople(),ChinesePeople()方法 。如果我在写一个方法,它还能代表吗
private void EnglishPeople(string name)
{
MessageBox.Show("morning"+name);
} private void ChinesePeople(string name)
{
MessageBox.Show("早上好!"+name);
}
private void GreetPeople(string name,GreetingDelegate MakeGreeting)
{
MakeGreeting(name);
} public void button1_Click(object sender, EventArgs e)
{
GreetPeople("成龙",ChinesePeople);
}想问一下大家 MakeGreeting 为什么能代表EnglishPeople(),ChinesePeople()方法 。如果我在写一个方法,它还能代表吗
然后再程序运行的初始化过程中,注册委托,如
englishpople+=new GreetingDelegate;
即可