不能,s只是一个参数,他只在构造方法的上下文中有效,如果退出构造函数,s将消失(当然,他所引用的东西不会消失)。关键在于你书写的代码是否总是有意义。比如,一般的服务对象都是在客户对象内部建立,而不是传进取的。
class client
{
    private server ser    public void client()
    {
        this.ser = new server(); //注意这里    this.ser.OnChange += new server.Change(this.Edit);
      //发生OnChange时client用Edit方法进行处理    }}

解决方案 »

  1.   

    与Change委托关联的事件应该如此定义:
    public event  Change OnChange;这样才能使用 += 
      

  2.   

    你的事件定义有问题,应该为public event Change OnChange;
    另外,如果你改变一下顺序的话,我认为你的问题应该可以改的,如下所示:
        public void client(server s)
        {
        s.OnChange += server.Change(Edit);
          //发生OnChange时client用Edit方法进行处理
            this.ser = s;
            //保存一个server对象的引用
        }
    最好你还是试一下吧