NullReference在WinForms中将对象添加到ListBox时发生异常

时间:2017-09-07 05:20:56

标签: c# winforms listbox

我正在尝试将我创建的Customer类型的对象添加到Windows窗体中的ListBox,但我的Customer类的Equals方法抛出NullReferenceException。

这是(我的客户类的简化版本):

$ne : [$var_to_check, undefined]

以下是我尝试将Customer对象添加到ListBox的方法:

public class Customer
{
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public Customer( string firstName, string lastName )
    {
        FirstName = firstName;
        LastName = lastName;
    }

    public override string ToString()
    {
        return this.LastName;
    }

    public override bool Equals( object obj )
    {
        Customer p = obj as Customer;
        return this.FirstName.Equals( p.FirstName ) && this.LastName.Equals( p.LastName );
    }
}

向ListBox添加新项目时,会触发项目的“等于”,如下所述:why listbox1.Items.Add use Equals Method of my Object?

我可以通过在Customer类的Equals方法中捕获NullReferenceException来轻松解决这个问题,但这是我没有得到的:

为什么ListBox使用null对象作为参数调用private void addCustomerButton_Click( object sender, EventArgs e ) { checkedListBox1.Items.Add(new Customer( customerFirstNameTextBox.Text, customerLastNameTextBox.Text )); } 方法?

0 个答案:

没有答案