VS2010 C#两个项目,A调用B的DLL,如何将项目B执行结果返回给A,并让A显示结果。

A只调用B的一个类的构造函数,B由构造函数启动执行线程,现在想把执行的结果返回给A,并让A在界面显示其结果。如果B再引用A,那就相互引用了,逻辑很混乱。有没有什么简单的办... A只调用B的一个类的构造函数,B由构造函数启动执行线程,现在想把执行的结果返回给A,并让A在界面显示其结果。如果B再引用A,那就相互引用了,逻辑很混乱。有没有什么简单的办法把执行结果通知A,让A更新。管道和消息机制感觉都很麻烦呀。 展开
 我来答
wcpeter1988
2013-07-07 · TA获得超过264个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:138万
展开全部
给B写个event,然后在A里添加event handler,这个handler是属于A的,会在B里指定的时候也就是执行完的时候被调用。
详细参见MSDN
http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx
追问
那B是不是要引用A呢?否则 B 的Evnet和 A的Event Handler怎么关联起来?
追答
B不用引用A的,相当于是运行时会依次执行挂接在B这个event上的所有event handler,执行的时候跟具体哪个对象挂接的event handler无关,所以B不用引用A的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
剑舞情心1
2013-07-07 · 超过18用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:47万
展开全部
B是另起的一个线程?为什么要这么做呢,直接把你调用的函数改为带返回值的不就可以了,比如public int add()
{
return 1;
}至于返回什么就跟你需求有关系了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
talencz
2013-07-08 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:139万
展开全部
事件event是首选,B不需要引用A,事件其实也可以叫作消息订阅,你是要A订阅B的消息,而B不需要知道A的任何消息;A订阅了B的消息,那么B到了执行完后就会通知A;
直接返回值也可以,当然也可以有其他方法,只是会显得更麻烦一点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友955c28f
2013-07-08 · 超过13用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:36.5万
展开全部
我觉得应该用delegate就应该能够实现的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式