社区
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又该如何写?
...全文
706
5
打赏
收藏
调用begininvoke如何的到返回值,如何传入ref参数?
我用BeginInvoke调用DataSet ExeSql(string sqlcmd)函数,请问如何得到它的返回值?若函数为void ExeSql(ref DataSet ds,string sqlcmd),在应用BeginInvoke时,第二个参数object[] args又该如何写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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#学习笔记--Be
gin
Invoke
和End
Invoke
的基本用法
如果你想开启一个耗时较长的操作(例如下载文件),但是你又不想这个耗时长的操作会影响接下来其他的操作,那就可以使用Be
gin
Invoke
去开启一个单独的线程,让这个耗时长的操作自己玩去吧~(耗时长的操作在这个单独的...
c# 异步
调用
Be
gin
Invoke
与End
Invoke
方法
为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输...异步
调用
并不是要减少线程的开销, 它的主要目的是让
调用
方法的主线程不需要同步等待在
C#多线程函数如何传
参数
和
返回值
委托(delegates)这个概念. 我理解的委托就是 具有 同样
参数
和
返回值
的函数的集合. 比如 publicdelegatevoid MyDelegate(int arg); 就是这种形式的函数 void Myfuntion(int i)
Invoke
and Be
gin
Invoke
Be
gin
Invoke
和End
Invoke
方法 (转)
以使Main方法延迟10秒钟再执行下面的代码,然后按Ctrl+F5运行程序,并打开企业管理器,观察当前程序的线程数,假设线程数是4,在10秒后,线程数会增至5,这是因为
调用
Be
gin
Invoke
方法时会建立一个线程来异步执行...
关于C#的
invoke
与Be
gin
invoke
的方法
有时候,我们不得不跨线程
调用
主界面的控件来进行操作,所以为了方便的解决问题,.net为我们提供了
Invoke
与be
gin
Invoke
Invoke
与be
gin
invoke
区别在于,
invoke
会阻塞当前线程,直到
invoke
调用
结束,才会继续执行...
C#
110,532
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章