我在 SO 中找不到这个问题的直接答案。是否有带void (void)
签名的预定义委托?
问问题
8773 次
3 回答
3
Action具有您正在寻找的签名。但是,它与 Runnable 的含义不同:Runnable 通常表示 run() 方法旨在在线程上运行,而 Action 没有任何指示。为此,您需要ThreadStart,它具有相同的签名,并且确实做出了指示。
如果您只需要一个没有参数的委托,Action
那就是您想要的。如果您正在处理线程并且需要指示启动方法,请使用ThreadStart
.
于 2011-08-16T13:14:21.863 回答
1
没有。C# 处理线程的方式与 Java 不同。在 Java 中,Runnable 接口是子类化 Thread 的替代方法,但您仍然必须创建一个新的 Thread 对象,将 Runnable 传递给构造函数。
无需子类化Thread
该类,您只需创建一个新System.Threading.Thread
对象并将其传递给ThreadStart
委托(这是您完成工作的函数)。ThreadStart 是完全等同于 Java 的 Runnable 的 C#。
但是,Action
委托具有void
您所说的参数。
于 2011-08-16T13:14:30.697 回答
1
Action 委托是一个没有参数的 void。
http://msdn.microsoft.com/en-us/library/system.action.aspx
还有其他带有多达 16 个参数的签名。
于 2011-08-16T13:15:36.797 回答