111,129
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Text;
namespace Delegate {
public class Greet
{
string Emsg, Cmsg;
public Greet(string Emsg, string Cmsg)
{
this.Emsg = Emsg;
this.Cmsg = Cmsg;
}
public delegate void GreetingDelegate(string name);
public void EnglishGreeting(string name)
{
Console.WriteLine(Emsg + name);
}
public void ChineseGreeting(string name)
{
Console.WriteLine(Cmsg + name);
}
public void GreetPeople(string name, GreetingDelegate MakeGreeting)
{
MakeGreeting(name);
}
}
public class between{
public between(string Emsg,)
{
Greet g = new Greet(Emsg, "早上好,");
g.GreetPeople("张", g.ChineseGreeting);
}
}
public class Program
{
public static void Main(string[] args)
{
between bt = new between("Good Morning");
Console.ReadKey();
}
}
}
。。。
public between(string Emsg,***********)
{
Greet g = new Greet(Emsg, "早上好,");
g.GreetPeople("张", ***********);
}。。。
public static void Main(string[] args)
{
between bt = new between("Good Morning",**********);
Console.ReadKey();
}。。。
1.定义全局选项:
enum LanguageType{English, Chinese}
2.定义between构造,选择名字和语种
public between(string name, LanguageType lt)
{
Greet g = new Greet("Good morning,", "早上好,");
Greet.GreetingDelegate gd = null;
switch(lt)
{
case LanguageType.Chinese:
gd = new Greet.GreetingDelegate(g.ChineseGreeting);
break;
case LanguageType.English:
gd = new Greet.GreetingDelegate(g.EnglishGreeting);
break;
}
g.GreetPeople(name, gd);
}
3.主方法中决定Greeting的人和方式
public static void Main(string[] args)
{
between bt = new between("张", LanguageType.Chinese);
between bt = new between("Zhang", LanguageType.English);
Console.ReadKey();
}
有点乱
using System;
using System.Collections.Generic;
using System.Text;
namespace Delegate
{
public delegate void GreetingDelegate(string name);
public class Greet
{
string Emsg, Cmsg;
public Greet(string Emsg, string Cmsg)
{
this.Emsg = Emsg;
this.Cmsg = Cmsg;
}
public void EnglishGreeting(string name)
{
Console.WriteLine(Emsg + name);
}
public void ChineseGreeting(string name)
{
Console.WriteLine(Cmsg + name);
}
public void GreetPeople(string name, GreetingDelegate MakeGreeting)
{
MakeGreeting(name);
}
}
public class between
{
public between(string Emsg,Greet g, GreetingDelegate Greetin)
{
g.GreetPeople(Emsg, Greetin);
}
}
public class Program
{
public static void Main(string[] args)
{
Greet g = new Greet("张", "早上好,");
between bt = new between("Good Morning",g,g.EnglishGreeting);
Console.ReadKey();
}
}
}