当前位置: 首页 > news >正文

南宁网站建设 醉懂网络/北京网站优化多少钱

南宁网站建设 醉懂网络,北京网站优化多少钱,2018做网站还是app,网站建设综合回调函数(Callback Function)是一种函数指针,它指向的是由用户自己定义的回调函数。我们将这个回调函数的指针作为参数传递给另外一个函数,在这个函数工作完成后,它将通过这个回调函数的指针来回调通知调用者处理结果。…

回调函数(Callback Function)是一种函数指针,它指向的是由用户自己定义的回调函数。我们将这个回调函数的指针作为参数传递给另外一个函数,在这个函数工作完成后,它将通过这个回调函数的指针来回调通知调用者处理结果。

    此定义来自网上;

看一个例子;这是用委托实现的回调函数;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace myhd1
{public partial class Form1 : Form{private delegate void MyDelegate(int a);  //定义一个委托类型public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){myFuncWithCallback(15, new MyDelegate(MyCallBack));}private void myFuncWithCallback(int b, MyDelegate callback){int result = b * b;callback(result);}private void MyCallBack(int n){textBox1.Text = n.ToString();}}
}

private delegate void MyDelegate(int a); 

    定义一个委托,无返回值,有一个整型参数;

myFuncWithCallback是一个用户定义函数,一个带有回调函数的函数;

MyCallBack(int n)

{

.......

}

    这是回调函数体;

new MyDelegate(MyCallBack),这是实例化委托;

单击按钮时调用了myFuncWithCallback,然后也会执行回调函数;

运行如下;

假设不用回调函数;代码是如下,

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            myFuncWithCallback(15);
        }

        private void myFuncWithCallback(int b)
        {
            int result = b * b;
            MyCallBack(result);
        }

        private void MyCallBack(int n)
        {
            textBox1.Text = n.ToString();
        }
    }

 功能也是一样;

但是使用回调函数实现了异步;myFuncWithCallback和MyCallBack之间是异步的;

异步是什么?

异步

    不用等所有操作等做完,就可以做其他的处理(比如发消息,发完后,我不需要等你回复,就可以做其他处理)

同步

  必须等所有的操作都做完,才返回给用户结果;

再看一个例子;枚举窗口,

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;namespace myhd2
{public partial class Form1 : Form{public delegate void CallBack(int hwnd, int lParam);[DllImport("user32")]public static extern int EnumWindows(CallBack x, int y);public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){CallBack myCallBack = new CallBack(Report);EnumWindows(myCallBack, 0); }private void Report(int hwnd, int lParam){textBox1.Text += "Window handle is " + hwnd.ToString() + ";" + Environment.NewLine;}  }
}

Win32 api的EnumWindows函数枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数;运行如下;
 


 

枚举和打印输出是异步的; 

http://www.jmfq.cn/news/5358637.html

相关文章:

  • 什么公司网站建设做的好/百度推广营销
  • 花都网站建设信科网络/上海网络营销公司
  • 技术支持 广州骏域网站建设专家/销售网站排名
  • 宜宾商城网站建设/成都官网seo费用
  • 武汉b2b网站建设公司/qq推广官网
  • 按摩养生网站建设/爱站网长尾关键词挖掘工具
  • 免费网站建设 百度一下/新手电商运营从哪开始学
  • 网站建设标书模板/新闻摘抄四年级下册
  • 万家灯火网站建设/刷关键词的平台
  • 连云港建设局网站/网站怎么优化排名
  • 潍坊做外贸网站建设/提高工作效率整改措施
  • 网站建设 聊城信息港/武汉seo招聘信息
  • 重庆荣昌网站建设/新河seo怎么做整站排名
  • 衢州市精神文明建设网站/在百度上怎么打广告
  • 笋岗网站建设/重庆森林在线观看
  • 建设网站 教学反思/重大新闻事件2023
  • 建设企业网站的公司/关键词排名批量查询
  • 温州网站建设推广/seo排名的影响因素有哪些
  • 网站的开发与建设/福州关键词优化平台
  • 安徽省住房与城乡建设部网站/网络营销中的四种方法
  • 电子商务网站的建设与维护/seo自媒体运营技巧
  • 网站建设需要哪些工具与知识/网址制作
  • 互联网网站建设计划书/怎么做一个自己的网页
  • 网站建设便捷/seo技术最新黑帽
  • php网站建设毕业论文/百度公司排名
  • 长春网站建设硕成传媒/视频广告接单平台
  • 奕腾网站建设/友情链接推广平台
  • 兰州市建设局官方网站/it培训班
  • 网站建设基本流程规范/同城推广
  • 贵阳网站建设多点互动/网络推广求职招聘交流群