看到这段代码:
internal class c
{
private int d;
}
public class a : c
{
private int b;
}
Run Code Online (Sandbox Code Playgroud)
为什么我不能从内部类继承公共类?为什么编译器有这种行为?
因为公共类在当前程序集之外是可见的,而内部程序则不是.从类中派生时,您只能进一步限制可见性,因为在您的情况下,它会使c您的程序集外部的消费者可以使用哪种实现,这样就无法使类首先成为内部的.
但是,您可以使用合成而不是继承.