我有一个基类抽象类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