0

Win8 C#スレッドを理解しようとしています。スレッドプールクラスを使用する必要があることはわかっていますが、それを処理するメソッドを作成する方法がわかりません。

IAsyncAction MainThread = Windows.System.Threading.ThreadPool.RunAsync(new WorkItemHandler(mainLoop));

public void mainLoop() { ... }

これがこれまでの私の最善の試みであり、mainLoopのオーバーロードがWorkItemHandlerデリゲートと一致しないことを示していますが、それが何を意味するのか、またはそれを修正する方法がわかりません。

4

2 に答える 2

1

これは、次の署名mainLoopが必要であることを意味します。

public void mainLoop(
  IAsyncAction operation
)

メッセージをグーグルで検索し、オプションでを追加することで、理解できないコンパイラエラーをすばやく解決できますsite:stackoverflow.com

于 2012-09-29T21:10:22.213 に答える
1

まあ、あなたはIAsyncAction署名を持っている必要があるので、私はラムダでそれを解決しました:

await ThreadPool.RunAsync(new WorkItemHandler((IAsyncAction) => workerMethod()));

お役に立てれば。

于 2012-12-21T20:02:40.713 に答える