0

我正在尝试使用此方法使用包含一系列字符串的列表

    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(全部包含在其中的列表)

那么由 Visit 和 Pickup 继承的 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());


    }

我似乎已将其范围缩小到这段代码ehre,列表调用父作业类,而不是任何一个子类

4

3 回答 3

1

尝试将您获得的对象类型转换为包含您要使用的函数的类。

于 2013-07-09T11:50:44.553 回答
0

确保你真的覆盖 ToString.

您所描述的听起来更像是在派生类中隐藏它。

override(你想要什么):

public override string ToString()
{
    // ...
}

阴影(我认为你有):

public string ToString()
{
    // ...
}

// or:

public new string ToString()
{
    // ...
}
于 2013-07-09T11:47:13.190 回答
0

您需要override在覆盖方法之前使用。

于 2013-07-09T11:47:53.287 回答