相关疑难解决方法(0)

为什么我的公共类不能扩展内部类?

我真的不明白.

如果基类是抽象的并且仅用于为程序集中定义的公共子类提供公共功能,为什么不将它声明为内部?

我不希望抽象类对程序集外部的代码可见.我不希望外部代码知道它.

c# inheritance internal

44
推荐指数
3
解决办法
2万
查看次数

受保护的内部构造函数

我有一个类ClassA是其他类的基类.我希望这个类构造函数是内部的和受保护的,以便它不能从我的程序集外部继承和实例化(我无法使它密封,因为我有其他内部类继承它,你可以看到我的其他相关的问题这里)所以我修改它是这样的:

public abstract ClassA{
    internal protected ClassA(){
    }
}
Run Code Online (Sandbox Code Playgroud)

我被告知这不会起作用,因为组合internal protected被解释为internalOR protected,显然只是构造函数: protected((从外面可见)

问题

  1. 如果这是真的,为什么被internal protected解释为internalOR protected而不是internalAND protected
  2. 有没有办法可以声明构造函数内部和受保护?

c# inheritance

3
推荐指数
1
解决办法
2630
查看次数

标签 统计

c# ×2

inheritance ×2

internal ×1