Possible Duplicate:
c# internal abstract class, how to hide usage outside assembly
I have a common assembly/project that has several abstract classes. When I create a new assembly, the developer should derive from MathProblem
and MathProblemTemplate<T>
classes.
So, I guess the class MathProblemTemplate
can be internal
, I mean when you plan to set a base class to a concrete class, not show in intellisense the class MathProblemTemplate
, but yes for 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();
}
Is this possible?