我有一个内部课程:
internal abstract class Reader
{
//internal abstract void methods
}我不能上这门课:
public abstract class CustomFileReader : Reader
{
}因为它比它继承的类更可见。我想这样做是为了强制要求您必须从Reader类的可公开访问的继承者继承,而不是从基类继承。这是可能的还是我必须公开基类?
发布于 2014-05-02 16:21:55
在一个internal类的继承树中不能有一个public类,但是可以通过在内部创建Reader的唯一构造函数来迫使用户从CustomFileReader而不是Reader派生:
public abstract class Reader
{
internal Reader()
{
}
}
public abstract class CustomFileReader : Reader
{
// Public and protected constructors here
}现在,任何试图从程序集之外的Reader直接继承的东西都会被告知,它找不到一个可访问的基类构造函数。
https://stackoverflow.com/questions/23432656
复制相似问题