Java的写法
接口,Interface IA{
  bool methodA();
  void methodB();
  //......
}具体操作的类
class Manager(){
   public void methodProcess(IA iA){
       if(iA.methodA()){
         //XXXXX
  iA.methodB();
        }
   }
}
调用端
class Customer(){
    public static void main(){
       Manager m = new Manager();
       m.methodProcess(new IA(){
          @Override
          public bool methodA(){
               //XXXX
           }
@Override
          public void methodB(){
               //XXXX
           }
        }    }
}
------------------------问题--------------------------------
m.methodProcess(new IA(){
          @Override
          public bool methodA(){
               //XXXX
           }
@Override
          public void methodB(){
               //XXXX
           }
        }
这个是关键,在.net不能这样用,就是匿名创建一个接口对象
-------------------期望目标-------------------------
Manager是某种操作或算法,依懒于Customer端的具体的某些行为,所以Customer要调用Manager时必须传入Customer特定的行为,Customer类会有很多很多~~~,就像Ajax的回调一样,每个调用Ajax的成功或失败它所要做的事情肯定是不一样的,而调用Ajax在一个普通的网站上是多如牛毛~~分数不够,只能给这么点-_-!!!

解决方案 »

  1.   

    写一个类继承接口,比如Ajax的回调,那不是每次要Ajax的请求都要写一个继承类?继承类就会变得无比的多~
      

  2.   

    在c#中使用匿名delegate public delegate void Callback(object args);obj.Invoke(Callback callback);这样用:
    obj.Invoke(new Callback(delegate(object args){
       // do something   
      
    }));
      

  3.   


    这个想法对。委托。
    而且比Java的形式要简单。
      

  4.   


    我记得没做的话Java里面没有委托这个东西所以只能这样玩了