C#委托与回调函数
来源:互联网 发布:如何搭建apache服务 编辑:程序博客网 时间:2024/06/03 20:19
http://blog.sina.com.cn/s/blog_4889194f0100ibqa.html
http://blog.sina.com.cn/s/blog_4889194f0100ibqr.html
回调函数就是把一个方法的传给另外一个方法去执行。在C#有很多回调函数,比如异步操作的时候。这里先举个例子:
using System;
using System.Collections.Generic;
using System.Text;
namespace TestApp
{
/// <summary>
/// 委托
/// </summary>
/// <param name="s1"></param>
/// <param name="s2"></param>
/// <returns></returns>
public delegate string ProcessDelegate( string s1, string s2);
class Program
{
static void Main( string[] args)
{
Test t = new Test();
string r1 = t.Process( "Text1", "Text2", new ProcessDelegate(t.Process1));
string r2 = t.Process( "Text1", "Text2", new ProcessDelegate(t.Process2));
string r3 = t.Process( "Text1", "Text2", new ProcessDelegate(t.Process3));
Console.WriteLine(r1);
Console.WriteLine(r2);
Console.WriteLine(r3);
}
}
public class Test
{
public string Process( string s1, string s2,ProcessDelegate process)
{
return process(s1, s2);
}
public string Process1( string s1, string s2)
{
return s1 + s2;
}
public string Process2( string s1, string s2)
{
return s1 + Environment.NewLine + s2;
}
public string Process3( string s1, string s2)
{
return s2 + s1;
}
}
}
{
}
输出结果:
Text1Text2
Text1
Text2
Text2Text1
Process方法调用了一个回调函数,当然这里只执行了回调函数。可以看出,可以把任意一个符合这个委托的方法传递进去,意思就是说这部分代码是可变的。而设计上有一个抽离出可变部分代码的原则,这种用法无疑可以用到那种场合了。
0 0
- C#委托,事件与回调函数
- C#委托,事件与回调函数
- C#委托,事件与回调函数
- C#委托,事件与回调函数
- C#委托与回调函数
- 详解C#委托与回调函数
- 详解C#委托,事件与回调函数
- 详解C#委托,事件与回调函数
- 详解C#委托,事件与回调函数
- [转载]详解C#委托,事件与回调函数
- C#委托、事件与回调函数(一)
- [转载]详解C#委托,事件与回调函数
- [转载]详解C#委托,事件与回调函数
- [转载]详解C#委托,事件与回调函数
- 详解C#委托,事件与回调函数
- 详解C#委托,事件与回调函数
- 详解C#委托,事件与回调函数
- 详解C#委托,事件与回调函数
- 项目经验分享--strust2一个程序员难解难分的队友啊!
- 自定义View(详解)多案例模块
- java并发编程-Lock
- 利用 Visual Studio 自带工具提高开发效率
- ICMP重定向原理
- C#委托与回调函数
- Java图形用户界面(1)
- 当Linux服务器的时间不对的时候,可以使用ntpdate工具来校正时间
- ASP.NET后台跳转保留原有编码的中文参数
- QT实现窗口透明的方法
- stl_transform.cpp
- jmeter函数之时间函数__time
- 简单粗暴!教你写好工作经历!
- 数据库读写分离(java部分配置)