为什么我不能从私有类/接口继承?

时间:2014-07-18 10:54:54

标签: c#

为什么这在C#中是非法的?

class Foo: Foo.BaseFoo //Circular base class dependency compile time error
{
   private class BaseFoo {...}

   ...
}

我不是在争论什么时候这可能有用,但是我想知道不允许这些代码编译的原因是什么。私有接口也会出现类似的限制。

更新

看到它是重复的我会更多地解释为什么这对于看起来更有用的接口无效?

而且,更重要的是,为什么它与Roslyn预览似乎是合法的here

1 个答案:

答案 0 :(得分:1)

这不是访问修饰符的问题 - 该类是私有的。这是循环基类依赖项。您尝试定义一个名为Foo的类,该类继承了一个名为BaseFoo的嵌套类。