可能重複:
c# internal abstract class, how to hide usage outside assembly如何使用內部關鍵字隱藏課程?
我有共同的組裝/項目,有幾個抽象類。當我創建一個新程序集時,開發人員應該從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();
}
是這可能嗎?
你讀過[此相關的問題(http://stackoverflow.com/questions/1244953/c-sharp-internal-abstract-class當你問你的問題時,在列表中顯示的外部程序集 - 如何隱藏 - 使用 - 外部程序集? –
是的,我讀過它,但我仍然得到像這樣的錯誤:不一致的可訪問性:基類'DevNinja.Core.Models.MathProblemTemplate'不易訪問類'DevNinja.Core.Models.MathProblemTemplate' –
嗯,是的,你正在使用不同的模板。 –