这几天在学习C#委托,虽然一直不是太清楚,但感觉这几个案例和方法很好,就整下来了
第一步:
class Program
{
static void englishhello(string name)
{
Console.WriteLine("hello:" + name);
}
static void chinesehello(string name)
{
Console.WriteLine("你好:" + name);
}
static void Main(string[] args)
{
englishhello("jodon");
chinesehello("张三");
}
}
第二步:
class Program
{
static void englishhello(string name)
{
Console.WriteLine("hello:" + name);
}
static void chinesehello(string name)
{
Console.WriteLine("你好:" + name);
}
static void telegatePerson(string name,string language)
{
switch (language)
{
case "English":
englishhello(name);
break;
case "Chinese":
chinesehello(name);
break;
default:
Console.WriteLine("火星来的吧");
break;
}
}
static void Main(string[] args)
{
telegatePerson("jodon","English");
telegatePerson("张三","Chinese");
}
}
第三步:
public delegate void mydelegate1();
public delegate void mydelegate2(string name);
class Program
{
static void test()
{
Console.WriteLine("test");
}
static void englishhello(string name)
{
Console.WriteLine("hello:" + name);
}
static void chinesehello(string name)
{
Console.WriteLine("你好:" + name);
}
static void telegatePerson(string name,mydelegate2 language,mydelegate1 t)
{
language(name);
t();
}
static void Main(string[] args)
{
telegatePerson("jodon",englishhello,test);
telegatePerson("张三",chinesehello,test);
}
}
第四步:
public delegate void mydelegate1();
public delegate void mydelegate2(string name);
class Person
{
public static void test1()
{
Console.WriteLine("static");
}
public void test2()
{
Console.WriteLine("auto");
}
}
class Program
{
static void Main(string[] args)
{
mydelegate1 d1, d2;
d1 = Person.test1;
Person p=new Person();
d2 = p.test2;
d1();
d2();
}
}
第五步:
public delegate void mydelegate1();
public delegate void mydelegate2(string name);
class Person
{
public static void test1()
{
Console.WriteLine("static");
}
public void test2()
{
Console.WriteLine("auto");
}
}
class Program
{
static void Main(string[] args)
{
mydelegate1 d;
d = Person.test1;
Person p = new Person();
d+=p.test2;
d();
}
}
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ----------------------详细请查看: http://net.itheima.com/