SOではまだこの質問に対する直接的な答えを見つけることができませんでした。void (void)
署名付きの事前定義されたデリゲートはありますか?
3 に答える
アクションには、探している署名があります。ただし、Runnable と同じ意味ではありません。Runnable は通常、run() メソッドが Thread で実行されることを意図していることを示しますが、Action は何も示しません。そのためには、同じ署名を持ち、その兆候を示すThreadStartが必要です。
必要なのはパラメーターのないデリゲートだけである場合は、それが必要Action
です。スレッドを扱っていて、開始方法を示す必要がある場合は、 を使用しますThreadStart
。
いいえ。C# は Java とは異なる方法でスレッドを処理します。Java では、Runnable インターフェースは Thread のサブクラス化に代わるものですが、新しい Thread オブジェクトを作成して、Runnable をコンストラクターに渡す必要があります。
クラスをサブクラス化するのではなく、Thread
単純に新しいSystem.Threading.Thread
オブジェクトを作成してThreadStart
デリゲートに渡します (これは、作業を行う関数です)。ThreadStart は、Java の Runnable とまったく同じ C# です。
ただし、Action
デリゲートには、void
あなたが話すパラメーターがあります。
Action デリゲートは、パラメーターを持たない void です。
http://msdn.microsoft.com/en-us/library/system.action.aspx
最大 16 個のパラメーターを持つ他の署名もあります。