Day01 委托
using System;
namespace Delegate
{
public class Greet
{
public delegate void GreetDelegate(string name);
public static void Greeting(string name,GreetDelegate gd)
{
gd (name);
}
public void ChineseGreeting(string name)
{
Console.WriteLine ("你好,"+name);
}
public void EnglandGreeting(string name)
{
Console.WriteLine ("Hello,"+name);
}
}
class MainClass
{
public delegate void DelegateChain();
//public delegate void MyDelegate(int para1,int para2);
public static void Main (string[] args)
{
MainClass mc = new MainClass ();
DelegateChain d1 = new DelegateChain (MainClass.staticMethod);
DelegateChain d2 = new DelegateChain (mc.method);
DelegateChain chain = null;
chain += d1;
chain += d2;
chain ();
Greet greet = new Greet ();
Greet.Greeting ("张三",greet.ChineseGreeting);
Greet.Greeting ("LISI",greet.EnglandGreeting);
Greet.Greeting ("Killer",new Greet.GreetDelegate(greet.EnglandGreeting));
/* MyDelegate d;
d = new MyDelegate (new MainClass().add);
MyDelegateMethod (d);*/
//Console.WriteLine ("Hello World1!");
}
/*public void add(int a,int b)
{
Console.WriteLine ("a+b={0}",a+b);
}
public static void MyDelegateMethod(MyDelegate mydelegate)
{
mydelegate(23,12);
}*/
public static void staticMethod()
{
Console.WriteLine ("static method");
}
public void method()
{
Console.WriteLine ("instance method");
}
}
}
using System;
namespace Delegate
{
public class Greet
{
public delegate void GreetDelegate(string name);
public static void Greeting(string name,GreetDelegate gd)
{
gd (name);
}
public void ChineseGreeting(string name)
{
Console.WriteLine ("你好,"+name);
}
public void EnglandGreeting(string name)
{
Console.WriteLine ("Hello,"+name);
}
}
class MainClass
{
public delegate void DelegateChain();
//public delegate void MyDelegate(int para1,int para2);
public static void Main (string[] args)
{
MainClass mc = new MainClass ();
DelegateChain d1 = new DelegateChain (MainClass.staticMethod);
DelegateChain d2 = new DelegateChain (mc.method);
DelegateChain chain = null;
chain += d1;
chain += d2;
chain ();
Greet greet = new Greet ();
Greet.Greeting ("张三",greet.ChineseGreeting);
Greet.Greeting ("LISI",greet.EnglandGreeting);
Greet.Greeting ("Killer",new Greet.GreetDelegate(greet.EnglandGreeting));
/* MyDelegate d;
d = new MyDelegate (new MainClass().add);
MyDelegateMethod (d);*/
//Console.WriteLine ("Hello World1!");
}
/*public void add(int a,int b)
{
Console.WriteLine ("a+b={0}",a+b);
}
public static void MyDelegateMethod(MyDelegate mydelegate)
{
mydelegate(23,12);
}*/
public static void staticMethod()
{
Console.WriteLine ("static method");
}
public void method()
{
Console.WriteLine ("instance method");
}
}
}