可能重复:
c#内部抽象类,如何隐藏程序集外的用法
我有一个公共程序集/项目,它有几个抽象类。当我创建一个新程序集时,开发人员应该从MathProblem
和MathProblemTemplate<T>
类派生。
所以,我猜这个类MathProblemTemplate
可以是internal
,我的意思是当你计划将一个基类设置为一个具体类时,不要以智能方式显示该类MathProblemTemplate
,但是对于MathProblemTemplate<T>
// Question classes
public abstract class Question
{
protected QuestionTemplate Template { get; private set; }
public Question(QuestionTemplate template)
{
this.Template = template;
}
}
public abstract class MathProblem : Question
{
public MathProblem(MathProblemTemplate template)
: base(template)
{
}
}
// QuestionTemplate classes
public abstract class QuestionTemplate
{
public QuestionTemplate() { }
}
// This is the class which I'd like to hide
public abstract class MathProblemTemplate : QuestionTemplate
{
}
public abstract class MathProblemTemplate<T> : MathProblemTemplate
{
protected abstract T Method1();
protected abstract T Method2();
}
这可能吗?