社区
C#
帖子详情
调用begininvoke如何的到返回值,如何传入ref参数?
flysnoopy1984
2005-09-13 11:13:46
我用BeginInvoke调用DataSet ExeSql(string sqlcmd)函数,请问如何得到它的返回值?若函数为void ExeSql(ref DataSet ds,string sqlcmd),在应用BeginInvoke时,第二个参数object[] args又该如何写?
...全文
725
5
打赏
收藏
调用begininvoke如何的到返回值,如何传入ref参数?
我用BeginInvoke调用DataSet ExeSql(string sqlcmd)函数,请问如何得到它的返回值?若函数为void ExeSql(ref DataSet ds,string sqlcmd),在应用BeginInvoke时,第二个参数object[] args又该如何写?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sdenli
2005-11-16
打赏
举报
回复
mark
anmeier
2005-10-26
打赏
举报
回复
/// <summary>
/// 获得数据
/// </summary>
private void BeginLoadDate(string sBeginDate,string sEndDate,string sFromData)
{
timerRun.Enabled = false;
LState.Text = "数据获取中,请稍候......";
BtnStop.Enabled = false;
BtnStop.Text = "停 止";
FlagStop = false;
PBarImport.Value = PBarImport.Minimum;
PBarImport.Visible = false;
LTime.Text = "";
LImport.Text = "";
DelegateLoadDateSet loadDateSet = new DelegateLoadDateSet(LoadDataSet);
AsyncCallback callback = new AsyncCallback( CallbackLoadDataSet );
loadDateSet.BeginInvoke(sBeginDate,sEndDate,sFromData,callback, loadDateSet);
}
/// <summary>
/// 导入数据后的回调方法
/// </summary>
private void CallbackLoadDataSet( IAsyncResult ar )
{
// Retrieve the invoking delegate.
DelegateLoadDateSet dlgt = (DelegateLoadDateSet)ar.AsyncState;
// Call EndInvoke to retrieve the results.
DataSet DS = dlgt.EndInvoke(ar);
DelegateEndLoadSetUI mi = new DelegateEndLoadSetUI(EndLoadSetUI);
this.BeginInvoke(mi,new Object[] {DS});
}
flysnoopy1984
2005-09-13
打赏
举报
回复
谢谢 3楼,但是当我在主函数中执行这个了这个BeginInvoke时,主线程好像还是组塞状态麻,我想让程序可以在作BeginInvoke的同时,还能异步的做其他的东西,不如进度条的滚动,请问怎么阿?
alec_ma
2005-09-13
打赏
举报
回复
不明白
flysnoopy1984
2005-09-13
打赏
举报
回复
求助阿~~~~!有人吗?我等!!!
C#多线程函数如何传
参数
和
返回值
[归类].pdf
C#多线程函数如何传
参数
和
返回值
[归类].pdf
MAC_c#获取mac_C#_
C#由IP地址获取对应的网卡MAC地址,基于Iphlpapi.dll,主线程之外的线程要
调用
main线程中建立的控件,需要使用委托的方式。
C#同步和异步(五)带返回
参数
的异步
调用
如果我们异步
调用
的是一个带有
返回值
的方法的话,那么该怎么操作呢? 下面介绍一下有关Be
gin
Invoke
()方法和End
Invoke
()方法的相关内容和知识。 1、Be
gin
Invoke
方法 在
调用
Be
gin
Invoke
时,
参数
列表中的实参组成如下: 1) 引用方法需要的
参数
。主要和委托指向的实际
调用
的方法的
参数
有关 2) 两个额外的
参数
——callback
参数
和sta...
c# 异步
调用
Be
gin
Invoke
与End
Invoke
方法
为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应了。异步方法很好的解决了这些问题,异步执行某个方法,程序立即开辟一个新线程去运行你的方法,主线程包括界面就不会死掉了。异步
调用
并不是要减少线程的开销, 它的主要目的是让
调用
方法的主线程不需要同步等待在
C#多线程函数如何传
参数
和
返回值
出处:http://hi.baidu.com/zhengjianweilx/blog/item/dfa54f889c422c9da5c27203.html
提起多线程,不得不提起 委托(delegates)这个概念.
我理解的委托就是 具有 同样
参数
和
返回值
的函数的集合.
比如
publicdelegatevoid MyDelegate(int arg);
就是这种形式的函数 void Myfuntion(int i)
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章