トップページ > プログラム > 2015年09月11日 > P60+h6Zx

書き込み順位&時間帯一覧

11 位/151 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000112



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
644
ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止]©2ch.net

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止]©2ch.net
644 :デフォルトの名無しさん[sage]:2015/09/11(金) 22:48:41.25 ID:P60+h6Zx
フォームのメソッドですが、コンパイルエラーになります。
MethodInvokerは1個の引数はだめとか。

private void InvTest(string text)
{
 if(this.InvokeRequired){
  this.Invoke((MethodeInvoker)(text=>this.InvTest(text)));
 }else{
  /* 処理 */
 }
}

これはコンパイル通ります。

private void InvTest(string text)
{
 if(this.InvokeRequired){
  this.Invoke((MethodeInvoker)(()=>this.InvTest(text)));
 }else{
  /* 処理 */
 }
}

確かにラムダ式に引数を与えなくても動作としては問題ないのですが、
コンパイルエラーの意味がわかりません。
textはラムダ式の引数であって、MethodInvokeの引数ではないと思うのです。
ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止]©2ch.net
652 :644[sage]:2015/09/11(金) 23:59:16.94 ID:P60+h6Zx
ありがとうございます。

そうなんです。だから(MethodInvoker)とカッコでくくっているのでキャストと
思うのですが、どうして引数が不正と言われるのかがわからないのです。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。