代码之家  ›  专栏  ›  技术社区  ›  Miguel Angelo

C继承自其内部的嵌套类

  •  2
  • Miguel Angelo  · 技术社区  · 15 年前

    类是否可以从嵌套类继承,或在C中实现嵌套接口?

    class Outer : Outer.Inner {
        class Inner { ... }
        ...
    }
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   Fernando    15 年前

    以你写的方式,不(见 this )但是如果您的内部接口在另一个类中,那么您可以。

    public class SomeClass : SomeOtherClass.ISomeInterface {
        public void DoSomething() {}
    }
    
    public class SomeOtherClass {
        public interface ISomeInterface {
            void DoSomething(); 
        }
    }
    
        2
  •  1
  •   Sam Harwell    15 年前

    只要嵌套类型在您的作用域中可见,而不是 sealed 然后是的。

    编辑2: 不要把这篇文章当作对你是否 应该 不应该 这样做,我只是说这是允许的。:)

    编辑: 不能从嵌套在其内部的类型派生,但是 可以 实现声明嵌套在基类型中的接口:

    public class Base
    {
        public interface ISomething
        {
        }
    }
    
    public class Derived : Base, Base.ISomething
    {
    }