解决方案 »

  1.   

    看父类是否隐式实现了接口,如果这样,子类不必实现。如果父类仅仅是有一个方法名、方法参数相同的方法,而没有实现接口(下面的1),或者父类是显式实现的接口(下面的2),那么子类还需要实现。interface I { void foo(int x); }
    (1)
    class A
    {
        public void foo(int x) { ... }
    }
    (2)
    class A : I
    {
        void I.foo(int x) { ... }
    }
      

  2.   

    ps; 我其实一直强调语义大于语法,我之所以不喜欢out,ref,是因为这两个是语法大于语义,语法大于语义的东西用起来别扭,而语义优先用起来就舒坦很多,无论是第一种异常,还是第二种约定。起码语义上异常是应该调用者处理滴,而约定则是已经调用者语义上已经形成习惯了,也没啥负担。而out,ref纯粹是语法大于语义,并且把原本该下面处理的逻辑,在语法上强行上上面执行了,这个太别扭了