Dispatcher を使用して応答性の高いアプリケーションを構築するを読んで、Dispatcher.Invoke メソッド (DispatcherPriority, Delegate, Object, array<Object>[]()[]) を使って、複数の引数を持つメソッドのデリゲートを呼ぼうとしてました。Invokeメソッドにはいくつかオーバーロードがあり、これは第3・第4引数にObjectとObjectの配列を渡します。これで複数の引数を持つメソッドのデリゲートも呼べそうな雰囲気だ。というか結論としては呼べるのだけど。
MSDNより。
- arg
- 型 : System..::.Object
指定したメソッドに引数として渡すオブジェクト。
- args
- 型 : array< System..::.Object >[]()[]
特定のメソッドに引数として渡すオブジェクトの配列。
指定したメソッドと特定のメソッドってなんだよー。何がどう違うんだよ。サンプルコードもないし少し悩んだ。
- arg: Invokeメソッドの第2引数で指定したデリゲートの第1引数に渡すオブジェクト
- args: 同様に第2引数で指定したデリゲートの第2引数以降に渡すオブジェクト配列
ということらしい。わかりづらー。英語だと両方ともargument(s) to the given method.