- C#, C♯, C#相談室 Part86 [転載禁止]©2ch.net
491 :デフォルトの名無しさん[sage]:2015/02/01(日) 04:40:59.93 ID:RmYenSV2 - public interface OnUpdate {
void onUpdate(); } というインターフェイスと public void addWatchTarget(,OnUpdate callback) {} というメソッドを定義して、 hoge.addWatchTarget(new OnUpdate{ public void onUpdate(){ /*ここにアップデートした時の処理*/ }; }); と書こうとしたのですが、エラーが出てしまいます。 一つのインターフェイスの為だけにクラスを作りたくないし、javaで言うところの b.setCallback(new Runnable() { public void run() { ... } }); の様に書きたいのですが、c#ではどのように表記すればよろしいでしょうか。
| - C#, C♯, C#相談室 Part86 [転載禁止]©2ch.net
493 :デフォルトの名無しさん[sage]:2015/02/01(日) 05:10:47.88 ID:RmYenSV2 - >>492
ありがとうございます。 すいません、例が悪かったです。インターフェイスにはn個のメソッドが宣言されています。 public interface OnUpdate { void onUpdate(); void onFiled(int errorCode); } hoge.addWatchTarget(new OnUpdate{ public void onUpdate(){}; public void onFailed(int code){}; }); c# interface method arguments 等でググったのですが 「インターフェイスを実装したクラスを作って、それをインスタンス化すればいいよ!」という回答ばかりで、インターフェイスを直接引数に与える方法は見つかりませんでした。
| - C#, C♯, C#相談室 Part86 [転載禁止]©2ch.net
495 :デフォルトの名無しさん[sage]:2015/02/01(日) 06:17:18.46 ID:RmYenSV2 - >>494
ありがとうございます。勉強になります
|
|