c# - 不能从内部类公开可见类?

标签 c#

我有一个内部类:

internal abstract class Reader
{
    //internal abstract void methods
}

我不能上这门课:

public abstract class CustomFileReader : Reader
{
}

因为它比它继承的类更显眼。我想这样做是为了强制您必须继承自 Reader 类的可公开访问的继承者,而不是基类。这是可能的还是我必须公开基类?

最佳答案

public 类的继承树中不能有 internal 类,但可以强制用户从 CustomFileReader 而不是 Reader,通过将 Reader 的唯一构造函数设为内部:

public abstract class Reader
{
    internal Reader()
    {
    }
}

public abstract class CustomFileReader : Reader
{
    // Public and protected constructors here
}

现在任何试图直接从程序集外的 Reader 继承的东西都会被告知找不到可访问的基类构造函数。

关于c# - 不能从内部类公开可见类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23432656/

相关文章:

c# - Linq 左外连接 - DefaultIfEmpty 错误

c# - Rhinomocks - 模拟代表

c# - Facebook.Client 包安装错误

c# - 来自 web api Controller 的异步回调

c# - 从经过身份验证的 URL 传输音频

c# - 如何从 C# 中的 DateTime 中删除空格?

c# - .NET Process.Start() 在远程系统上的可执行文件上 - 安全警告?

c# - 空合并运算符赋值给自己

c# - 如何确保所有数据都已物理写入磁盘?

c# - Listbox.Contains 包含 "Like"运算符