2

SOではまだこの質問に対する直接的な答えを見つけることができませんでした。void (void)署名付きの事前定義されたデリゲートはありますか?

4

3 に答える 3

3

アクションには、探している署名があります。ただし、Runnable と同じ意味ではありません。Runnable は通常、run() メソッドが Thread で実行されることを意図していることを示しますが、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 に答える