为什么我不能从私有类/接口继承?
本文关键字:接口 继承 不能 为什么 | 更新日期: 2023-09-27 18:13:33
为什么这在c#中是非法的?
class Foo: Foo.BaseFoo //Circular base class dependency compile time error
{
private class BaseFoo {...}
...
}
我不是在争论这是否有用,但我想知道不允许这样的代码编译的原因是什么。私有接口也有类似的限制。
看到它是重复的,我将把问题更多地集中在为什么这对看起来更有用的接口无效?
更重要的是,为什么看起来Roslyn预览版是合法的
这不是访问修饰符的问题——类是私有的。这是一个循环基类依赖。您尝试定义一个名为Foo
的类,它继承了一个名为BaseFoo
的嵌套类。