【发布时间】:2016-04-19 22:35:01
【问题描述】:
C#: 我想用一个适用于字符串列表的方法编写一个抽象类。该列表将尚未在此类中实现。 然后我想写另一个类,继承自抽象类并实现字符串列表。
class AbstractClass
{
protected abstract List<string> myList; // To be implemented in a child class
void ShowList()
{
foreach (string member in myList)
{
Console.WriteLine(member);
}
}
}
class HelloWorld : AbstractClass
{
new private List<String> myList = new List<string>()
{
"Hello", "World"
};
}
现在 C# 告诉我“修饰符摘要在字段上无效。请尝试改用属性。” 我似乎没有得到大局。我只想要一个占位符/对我的基父类中的列表的引用。这是怎么做到的?
【问题讨论】:
-
一个字段被认为是私有的。这意味着您不会在从基类继承的类中看到它,因此它无法实现它的字段版本。另一件事是 - 字段仅用于保存数据,您不能真正“实现”它们。尝试使用虚拟/抽象属性。
-
为什么需要在派生类中“实现”它。您在抽象类中定义字段,然后在派生类中对其进行初始化。