我正在尝试使用包含一系列使用此方法的字符串的列表
public List<String> ListJobs(Job job)
{
List<String> ListJobs = new List<string>();
foreach (Job curjob in Jobs)
{
String jobAsString = curjob.ToString();
ListJobs.Add(jobAsString);
}
return ListJobs;
//Get the list of strings
我目前的结构是
JobLedger(包含它的列表)
然后由访问和拾取继承的Job Parent类问题在于,在上面的代码中,它不是在子类中使用重写的tostring方法,而是默认为父类。
public void NewerList()
//No Pickup display problem is here. Liststring refers to base sting method instead of child
{
LstJob.Items.Clear();
//Clears the list
List<String> listOfVis = TheLedger.ListJobs(Thejob);
//Get a list of strings to display in the list box
LstJob.Items.AddRange(listOfVis.ToArray());
}
我似乎把它缩小到这段代码,而List调用父Job类,而不是任何一个子类
答案 0 :(得分:1)
尝试将要获取的对象类型转换为包含要使用的函数的类。
答案 1 :(得分:0)
确保您确实覆盖 ToString
。
您所描述的内容听起来更像是在派生类中阴影。
override
(你想要的):
public override string ToString()
{
// ...
}
shadow (我认为你有):
public string ToString()
{
// ...
}
// or:
public new string ToString()
{
// ...
}
答案 2 :(得分:0)
您需要在重写方法之前使用override
。