- ふらっと 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)とカッコでくくっているのでキャストと 思うのですが、どうして引数が不正と言われるのかがわからないのです。
|
|