我有一个内部类:
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/