标签:
代码很简单,不多做解释,如果有疑问和建议请留言,回第一时间回复
C#代码first
class Program { static void Main(string[] args) { MyCallback mc = new MyCallback(); mc.Callback(new Action(success), new Action(failed)); mc.Callback(new Action(() => { Console.WriteLine("无参匿名success"); }), new Action(() => { Console.WriteLine("无参匿名failed"); })); mc.Callback(new Action<object>(success), new Action<object>(failed)); Console.ReadKey();//出自http://www.cnblogs.com/ahjesus 尊重作者辛苦劳动成果,转载请注明出处,谢谢! } static void success() { Console.WriteLine("无参success"); } static void failed() { Console.WriteLine("无参failed"); } static void success(object str) { Console.WriteLine((string)str); } static void failed(object str) { Console.WriteLine((int)str); } } class MyCallback { public void Callback(Action success, Action failed) { success(); failed();//出自http://www.cnblogs.com/ahjesus 尊重作者辛苦劳动成果,转载请注明出处,谢谢! } public void Callback(Action<object> success, Action<object> failed) { success("123"); failed(456); } }
JS代码
<script type="text/javascript"> var mc = new MyCallback(); mc.Callback(success, failed); console.log(222); function success(str) { console.log(str); } function failed(num) { console.log(num); } mc.Callback(function (str) { console.log(str); }, function (num) { console.log(num);//出自http://www.cnblogs.com/ahjesus 尊重作者辛苦劳动成果,转载请注明出处,谢谢! }) console.log(333); function MyCallback() { this.Callback = function (success, failed) {//无参,有参 自己选择传不传参 successDelegate = success;//出自http://www.cnblogs.com/ahjesus 尊重作者辛苦劳动成果,转载请注明出处,谢谢! failedDelegate = failed; setTimeout(‘successDelegate("111")‘, 1000); //异步 setTimeout(‘failedDelegate("444")‘, 4000);//异步 // success("123");//同步 // failed(456);//同步 } } </script>
标签:
原文地址:http://www.cnblogs.com/androidshouce/p/5665610.html