トップページ > プログラム > 2015年02月01日 > RmYenSV2

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

21 位/196 ID中時間01234567891011121314151617181920212223Total
書き込み数0000111000000000000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C#, C♯, C#相談室 Part86 [転載禁止]©2ch.net

書き込みレス一覧

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
ありがとうございます。勉強になります


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