C#:摘要列表<;字符串>;
C#: 我想用一个处理字符串列表的方法编写一个抽象类。该列表尚未在此类中实现。 然后,我想编写另一个从抽象类继承并实现字符串列表的类C#:摘要列表<;字符串>;,c#,abstract,C#,Abstract,C#: 我想用一个处理字符串列表的方法编写一个抽象类。该列表尚未在此类中实现。 然后,我想编写另一个从抽象类继承并实现字符串列表的类 class AbstractClass { protected abstract List<string> myList; // To be implemented in a child class void ShowList() { foreach (string member in myList)
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"
};
}
class抽象类
{
受保护的抽象列表myList;//将在子类中实现
void ShowList()
{
foreach(myList中的字符串成员)
{
控制台写入线(成员);
}
}
}
类HelloWorld:AbstractClass
{
新建私有列表myList=新建列表()
{
“你好”,“世界”
};
}
现在C#告诉我“修饰符摘要对字段无效。请尝试改用属性。”
我似乎不了解大局。我只需要一个占位符/对我的基本父类中列表的引用。这是如何做到的?您的代码有几个问题。这将解决这些问题:
abstract class AbstractClass
{
protected abstract List<string> MyList { get; set; } // To be implemented in a child class
void ShowList()
{
foreach (string member in MyList)
{
Console.WriteLine(member);
}
}
}
class HelloWorld : AbstractClass
{
protected override List<String> MyList { get; set; } = new List<string>()
{
"Hello", "World"
};
}
抽象类抽象类
{
要在子类中实现的受保护抽象列表MyList{get;set;}//
void ShowList()
{
foreach(MyList中的字符串成员)
{
控制台写入线(成员);
}
}
}
类HelloWorld:AbstractClass
{
受保护的覆盖列表MyList{get;set;}=new List()
{
“你好”,“世界”
};
}
问题:
- 应使用
声明抽象类李>抽象类
- 如果要在派生类中重写其功能,则需要使用属性或方法李>
- 您正在使用
关键字。如果要在派生类中派生某些内容,请不要这样做!改用new
替代
- 您的代码有几个问题。这将解决这些问题:
abstract class AbstractClass
{
protected abstract List<string> MyList { get; set; } // To be implemented in a child class
void ShowList()
{
foreach (string member in MyList)
{
Console.WriteLine(member);
}
}
}
class HelloWorld : AbstractClass
{
protected override List<String> MyList { get; set; } = new List<string>()
{
"Hello", "World"
};
}
抽象类抽象类
{
要在子类中实现的受保护抽象列表MyList{get;set;}//
void ShowList()
{
foreach(MyList中的字符串成员)
{
控制台写入线(成员);
}
}
}
类HelloWorld:AbstractClass
{
受保护的覆盖列表MyList{get;set;}=new List()
{
“你好”,“世界”
};
}
问题:
- 应使用
声明抽象类李>抽象类
- 如果要在派生类中重写其功能,则需要使用属性或方法李>
- 您正在使用
关键字。如果要在派生类中派生某些内容,请不要这样做!改用new
替代