我有一個基類抽象類BasePerson
。我有另一個抽象類BaseStudent
,這從BasePerson
繼承。這裏是例子。重寫抽象類的抽象成員
public abstract class BasePerson
{
public string Name{get;set;}
public string LastName{get;set;}
public abstract object this[string propertyName]{get;set;}
}
public abstract class BaseStudent : BasePerson
{
public string Test{get;set;}
//this class inherits from BasePerson and it forces to override the indexer.
//I can do this:
public override object this[string propertyName]
{
get{return null;}
set
{
//do stuff;
}
}
}
public class Student : StudentBase
{
//other properties
}
現在我無法強迫Student
類重寫索引。我該如何強制學生重寫索引器?我無法從BasePerson
類刪除索引器。
幫助感謝!
如果你想從'BaseStudent'從'BasePerson'繼承'BaseStudent'時刪除索引器,那麼你的類層次結構就會出現問題。你爲什麼想這樣做? – JeffRSon
如果你想強制它,不要在'BaseStudent'上實現它。由於'BaseStudent'是'abstract',因此它不需要執行'BasePerson'中的所有'abstract'成員。 –
@JeffRSon對不起我的英文。也許我無法解釋它好。我不打算刪除索引器。我在BasePerson中需要它。 – Dilshod