2008年3月27日

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.

posted @ 0:12 | Feedback (337)