5

バックグラウンド スレッドで別のメソッドを実行するメソッドを作成したいと考えています。このようなもの:

void Method1(string param)
{
    // Some Code
}

void Method2(string param)
{
    // Some Code
}

void RunInThread(AMethod m)
{
   //Run the method in a background thread
}
4

2 に答える 2

8

メソッドに戻り値がある場合はFuncデリゲートを使用します。それ以外の場合は、Actionデリゲートを使用できます。例えば:

void Method1(string param)
{
    // Some Code
}

void Method2(string param)
{
   // Some Code
}

void RunInThread(Action<string> m)
{
   //Run the method in a background thread
}

次に、次の方法で呼び出すことができますRunInThread

RunInThread(Method1);
RunInThread(Method2);
于 2013-04-01T17:24:19.033 に答える
2

Task.Runバックグラウンド スレッドで少しだけコードを実行したい場合が好きです。定義しようとしているものとほぼ同じ署名を持っているようにさえ見えます。他のオーバーロードもたくさんあります。

Task.Run(()=>{ 
      //background method code 
   }, TResult);

MSDN ドキュメント

于 2013-04-01T17:26:34.773 に答える