静态方法代理:
class program
{
[stathread]
static void main(string[] args)
{
//方法名当成参数传给委托类型调用
markgreeting("张三", greetingenglish);
markgreeting("李四", greetingchinese);
}
/// <summary>
/// 委托(代理的方法)
/// </summary>
/// <param name="name"></param>
/// <param name="markgreeting"></param>
private static void markgreeting(string name, dogreeting markgreeting)
{
markgreeting(name);
}
/// <summary>
/// 用英文打招呼
/// </summary>
/// <param name="name"></param>
private static void greetingenglish(string name)
{
console.writeline(name+"hello!");
}
/// <summary>
/// 用中文打招呼
/// </summary>
/// <param name="name"></param>
private static void greetingchinese(string name)
{
console.writeline(name+"你好!");
}
}
public class greeting
{
/// <summary>
/// 委托(代理的方法)
/// </summary>
/// <param name="name"></param>
/// <param name="markgreeting"></param>
public void markgreeting(string name, dogreeting markgreeting)
{
markgreeting(name);
}
/// <summary>
/// 用英文打招呼
/// </summary>
/// <param name="name"></param>
public void greetingenglish(string name)
{
console.writeline(name + "hello!");
}
/// <summary>
/// 用中文打招呼
/// </summary>
/// <param name="name"></param>
public void greetingchinese(string name)
{
console.writeline(name + "你好!");
}
}
class program
{
[stathread]
static void main(string[] args)
{
greeting greetingobj = new greeting();
greetingobj.markgreeting("张三", greetingobj.greetingenglish);
greetingobj.markgreeting("李四", greetingobj.greetingchinese);
}
如对本文有疑问, 点击进行留言回复!!
C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)
Unity通用泛型单例设计模式(普通型和继承自MonoBehaviour)
网友评论