2007年02月22日
川俣晶の縁側ソフトウェア技術雑記total 5597 count

WinFormsのControl.Invoke メソッドでオブジェクトの配列のみを引数に渡すと実行時エラーになる問題

Written By: 川俣 晶連絡先

 余裕がないので、遭遇した現象のメモだけ。

 WinFormsのControl.Invoke メソッドでオブジェクトの配列のみを引数に渡すと実行時エラーになってしまいました。

 環境はVisuatl Studio 2005SP1上のC#です。

上手く行かない例 §

private delegate void shopBuyMenuInvoker(Item[] sellingItems);

……

formMain.Invoke((shopBuyMenuInvoker)delegate(Item[] sellingItems0)

{

formMain.ShopBuyMenu(sellingItems0);

}, sellingItems);

上手く行く例 (ダミー引数を追加) §

private delegate void shopBuyMenuInvoker(object dummy, Item[] sellingItems);

……

formMain.Invoke((shopBuyMenuInvoker)delegate(object dummy, Item[] sellingItems0)

{

formMain.ShopBuyMenu(sellingItems0);

}, null, sellingItems);

感想 §

 public Object Invoke (Delegate method,params Object[] args)の引数argsとの混同が起きているのでしょうか?

 ともかく、Invoke+匿名メソッドの組み合わせは罠が多い感じです。

 なぜ起こるのか、適切な対処法が何かはまだ分かっていませんが、時間がないのでとりあえず、遭遇現象のメモだけ。

Facebook

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2007年
03月
14日
PHP 5.2.1のWinodwsインストーラとPukiWikiで電子メールの通知を行う方法
3days 0 count
total 3857 count
【技術雑記】の前のコンテンツ
2007年
02月
22日
分かったような分からないような.NET Frameworkの書式指定がやっと分かった!
3days 0 count
total 3757 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20070222143858
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.