控制台程序怎么调用委托

风中飘过一行代码 2014-11-08 11:38:31
以前做winform的时候都会用BeginInvoke或者Invoke去调用委托,但是现在做一个控制台程序发现没有这个方法,所以想问下控制台程序怎么去调用委托?还能用这俩方法吗?如果能用,需要添加哪些引用或接口?
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
buickjinivc 2014-11-08
  • 打赏
  • 举报
回复
引用 4 楼 guyuekkk11 的回复:
[quote=引用 1 楼 sp1234 的回复:] 不需要。控制台程序的界面I/O是线程安全的。
是这样的,我有个方法是新起的一个线程执行的(必须要这样的),这个方法有一步要去操作一个设备,这个设备提供了一个接口方法,但是去调这个方法的是它提示说不能用多线程去操作,所以想用委托来实现。[/quote] 楼主,你直接在控制台里,看看能不能New 一个form出来,看看能不能在form里面修改controls属性。
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
不需要。控制台程序的界面I/O是线程安全的。

调用设备提供的方法就报这个异常,不让用多线程去操作
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
不需要。控制台程序的界面I/O是线程安全的。
是这样的,我有个方法是新起的一个线程执行的(必须要这样的),这个方法有一步要去操作一个设备,这个设备提供了一个接口方法,但是去调这个方法的是它提示说不能用多线程去操作,所以想用委托来实现。
  • 打赏
  • 举报
回复
lz 显然不是去因为委托而调用begininvoke(),而是去找什么“控件”之类的东西。 其实在winform中说什么“用begininvoke()去调用委托”,这是一个歪曲其目的的词儿。使用 control.begininvoke() 方法的目的是为了在创建 control 的线程上调用委托,并不是“为了调用委托而调用委托”。不知道目的,自然就会在别处胡乱套用。
buickjinivc 2014-11-08
  • 打赏
  • 举报
回复
楼主既然是控制台,调用委托肯定不是为了UI控件,想必是为了线程安全的异步委托吧。 你delegate一个委托,用委托的begininvoke(),难道不可以吗?
  • 打赏
  • 举报
回复
不需要。控制台程序的界面I/O是线程安全的。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧