我有一个内部课:
internal abstract class Reader
{
//internal abstract void methods
}
Run Code Online (Sandbox Code Playgroud)
我不能上这堂课:
public abstract class CustomFileReader : Reader
{
}
Run Code Online (Sandbox Code Playgroud)
因为它比它继承的类更明显.我想这样做是为了强制你必须继承Reader类的公共可访问的继承者而不是基类.这是可能的还是我必须暴露基类?
Jon*_*eet 11
您不能在internal类的继承树中拥有一个public类,但是您可以通过创建内部的唯一构造函数来强制用户派生CustomFileReader而不是:ReaderReader
public abstract class Reader
{
internal Reader()
{
}
}
public abstract class CustomFileReader : Reader
{
// Public and protected constructors here
}
Run Code Online (Sandbox Code Playgroud)
现在,任何试图直接从Reader程序集外部继承的东西都会被告知无法找到可访问的基类构造函数.