我有類:待辦事項繼承權
internal class Stage
{
public long StageId { get; set; }
public string StageName { get; set; }
public int? Order { get; set; }
public Stage()
{
Order = 0;
}
}
我也有:
public class GroupStage : Stage
{
private override long StageId { set { StageId = value; } }
public GroupStage() : base() { }
public void InsertStage(long groupId)
{
}
public static void SetStageOrder(long stageId, int order)
{
....
}
public static void DeleteStage(long stageId)
{
....
}
public static GroupStage[] GetStages(long groupId)
{
....
}
}
和:
public class TaskStage : Stage
{
public DateTime? Time { get; set; }
public TaskStage()
: base()
{
....
}
public static Stage GetNextTaskStage(Guid companyId, long taskId)
{
....
}
public static Stage[] GetTaskStages(Guid companyId, long taskId)
{
....
}
}
這不是工作,我得到異常: 可訪問性不一致:基類Stage
比類GroupStage
我想Stage
類是私有的,除了GroupStage
和TaskStage
之外沒有訪問權限。我還想讓StageId
在GroupStage
和TaskStage
中保密。 我怎樣才能做到這一點,而不重複Stage
GroupStage
和TaskStage
的成員?
「繼承權」好吧,那麼你的**行爲在哪裏? – 2011-03-11 17:19:58
對不起,但我不明白你的問題。 – Naor 2011-03-11 18:21:33
你在問如何做繼承權,但你的類沒有行爲(除了一些靜態CRUD/ActiveRecord)。如果你想「繼承權」,你的設計將圍繞你的課堂行爲,而不是包裝的屬性。換句話說,我說你做錯了。非常錯誤。 – 2011-03-11 18:23:58