从另一个类中访问类列表 - null引用异常

时间:2013-04-22 18:42:51

标签: c# exception

我有一个类,它创建另一个类的列表。 看起来像:

class SortItAll
{                                       
    Recipient rec;
    public List<Recipient> listofRec = new List<Recipient>();

    public void sortToClass()
    {
        while (isThereNextLine()) { //while there is a following line
            loadNextLine();         //load it

            rec = new Recipient(loadNextPiece(),  //break that line to pieces and send them as arguments to create an instance of "Recipient" class
                                loadNextPiece(),
                                loadNextPiece(),
                                loadNextPiece());
            listofRec.Add(rec);                   //add the created instance to my list
        }
    }

从我的Form1类中,我调用了这个方法(sortToClass()),我的逻辑应该用我的特定类填充我的列表。然后我想将list.count()写入文本框:

    public Form1()
    {
        SortItAll sort = new SortItAll(); //create the instance of the class

        sort.sortToClass();               //within which i call the method to fill my list

        txt_out.Text = sort.listofRec.Count().ToString(); //writing out its count to a textbox

        InitializeComponent();
    } 

现在我的问题是每当我尝试调试时,它都会阻止我

Nullreference exception pointing to -> "txt_out.Text = sort.listofRec.Count().ToString();" in Form1.

然而,在调试时,我可以检查当地人,在哪里说明:

sort -> listOfRec -> Count = 4.

可能是什么问题?

2 个答案:

答案 0 :(得分:3)

 txt_out.Text = sort.listofRec.Count().ToString(); //writing out its count to a textbox

在InitializeComponent()之后,因为它是在该方法中创建的。

答案 1 :(得分:0)

您应该在方法的顶部保留InitializeComponent();,因为它会在表单上创建所有控件。您可能正在获取它,因为您在创建控件txt_out之前尝试访问控件{{1}}并将其添加到表单中。