C# 实现函数回调
public class Lib
{
public delegate void UserFunctionCB();
private static UserFunctionCB m_userFnCB; /// <summary>
/// 初始化时把需要回调的函数传入
/// </summary>
/// <param name="func"></param>
public static void InitCallbackFunction(UserFunctionCB func)
{
m_userFnCB = func;
} /// <summary>
/// 当程序出现异常时会自动触发此函数
/// (在这里我就不过多的描述异常捕获的过程了)
/// </summary>
/// <param name="func"></param>
public static void HandleExceptionForNDK()
{
// 出现异常时调用用户自定义函数
CallUserFunction();
} /// <summary>
/// 回调执行用户设置的函数
/// </summary>
private static void CallUserFunction()
{
if (m_userFnCB != null)
{
IAsyncResult result = m_userFnCB.BeginInvoke(delegate(IAsyncResult ar)
{
m_userFnCB.EndInvoke(ar);
}, null); // 执行50毫秒后超时
result.AsyncWaitHandle.WaitOne(, true);
}
}
}
以下是调用部份:
public class Demo
{
void Start()
{
var m_callbackFn = new Lib.UserFunctionCB(CallBackFunction);
Lib.InitCallbackFunction(m_callbackFn);
} /// <summary>
/// 回调函数实现部份
/// </summary>
private void CallBackFunction()
{
Debug.LogError("print of call back function!");
}
}
以上就是通过委托的方式实现回调操作!由于这个例子是在Unity下使用的,直接把代码抠出来的,直接拷贝是编译不通过的。
只是写在这里当初一个记事本,避免忘记。
C# 实现函数回调的更多相关文章
- 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数
[源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...
- 【Cocos2d-X开发学习笔记】第18期:动作类之改变动作对象、函数回调动作以及过程动作的使用
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.改变动作执行对象 CCTargetedAct ...
- 闭包函数&回调函数
闭包函数&回调函数 谈到回调函数,不得不提匿名函数;匿名函数,也叫闭包函数,也就是没有名字的函数,它可以单独存在,也可以将其赋值给某一个变量.so,先来看一下闭包函数. 闭包函数 php文档: ...
- js jquery 函数回调
JS 函数回调 $('#btn_update').click(function () { var table_id = $table.bootstrapTable('getSelections')[0 ...
- python全栈开发_day15_函数回调和模块
一:函数回调 def a(fn=None): print("run1") if fn: fn() print("run 2") def b(): print(& ...
- Vue——项目中接口返回值为函数回调,回调函数定义方法(Vue的方法给原生调用)
在接口调用中,有时会返回给我们一个函数回调,来自动执行我们在前端定义好的某个函数(多出现于通过回调的方式传递某个数值).在原生项目中,我们只要提供一下这个方法就好了,通过函数回调会自动执行.问题就出现 ...
- JS闭包应用场景之函数回调(含函数的调用个人理解)
首先我们来绑定一个函数给click事件,这个很好理解,就是创建一个匿名函数作为回调绑定给click事件,如下: 但如果我们想声明一个函数作为回调来绑定多个元素呢,例如下面(注意:绑定事件后不用加括号, ...
- Java 实现函数回调
在Java里没用委托(delegate)这方法,所以想要实现回调还是有些麻烦.(想了解C#如何实现?请查看:http://www.cnblogs.com/Martin_Q/p/4478494.html ...
- JSF页面中使用js函数回调后台bean方法并获取返回值的方法
由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...
随机推荐
- 再谈通过http访问SSAS
问题: 在有些场景下,数据中心会分为不同的服务器场:数据库场和应用程序场.服务器场间有严格的防火墙控制,其中数据库场只能建立从应用程序场的防火墙穿越,也就是说不允许任何客户端直接连接到防火墙. 这种策 ...
- 7.Java中的字符串
1.String的特性 特性一:不可变性 String s=new String("yangyun") s=s.toUpperCase(); 这里的s,s占用的空间是不一样的(地址 ...
- 【SSM】Eclipse使用Maven创建Web项目+整合SSM框架
自己接触ssm框架有一段时间了,从最早的接触新版ITOO项目的(SSM/H+Dobbu zk),再到自己近期来学习到的<淘淘商城>一个ssm框架的电商项目.用过,但是还真的没有自己搭建过, ...
- HDU 3642 Get The Treasury (线段树扫描线)
题意:给你一些长方体,问你覆盖三次及以上的体积有多大 首先我们观察x轴y轴一样很大,但是z轴很小,所以我们可以枚举z轴(-500,500),注意我们枚举的是每一段长度为一的z轴的xy轴的面积而不是点. ...
- C#最简单例子
using System; namespace ConsoleApplication1 { class People { int age; string name; public string get ...
- 关于activity的生命周期的随笔
在activity的生命周期中,我总是容易混淆,onstart和on resume ,on pause和onstop 原来这个都是一对的. onstart 对应 onstop ,意义在于使页面显示出来 ...
- R实现灰色预测
1.简介 预测就是借助于对过去的探讨去推测.了解未来.灰色预测通过原始数据的处理和灰色模型的建立,发现.掌握系统发展规律,对系统的未来状态做出科学的定量预测.对于一个具体的问题,究竟选择什么样的预测模 ...
- pointers on c (day 1,chapter3)
第3章 数据 c中,仅有4中基本数据类型——整型.浮点型.指针和聚合类型(如数组和结构等). 整型:字符.短整型和长整型,它们都分为有符号(signed)和无符号(unsigned). short i ...
- Spatial Transformer Networks(空间变换神经网络)
Reference:Spatial Transformer Networks [Google.DeepMind]Reference:[Theano源码,基于Lasagne] 闲扯:大数据不如小数据 这 ...
- css3动画----实现动态省略号 ...
<h3>实现省略号点点动,纯css3实现动态省略号</h3>上传中<span class="dot">...</span> [css ...