C#如何添加到列表类中

本文关键字:列表 添加 何添加 | 更新日期: 2023-09-27 18:29:12

我试图将新的obj添加到列表类,但告诉我我需要对属性的obj引用。我不明白我该怎么做,你能给我一个建议吗?

public class CreateContact
{
  logic...
}
public class AddedContacts
{
    private List<CreateContact> Contact;
    public List<CreateContact> ClassCreateContact
    {
        get { return Contact; }
        set { this.Contact = value; }
    }
}

我想通过点击按钮创建并添加到列表中新创建的"CreateContact"。

private void button4_Click(object sender, EventArgs e)
    {
        CreateContact p = new CreateContact(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text);
        AddedContacts.ClassCreateContact.add(p); // Error 1 An object reference is required for the non-static field, method, or property
    }

C#如何添加到列表类中

您需要在AddedContacts类的构造函数中实例化Lists

public class AddedContacts
{
    private List<CreateContact> Contact;
    public List<CreateContact> ClassCreateContact
    {
        get { return Contact; }
        set { this.Contact = value; }
    }
    public AddedContacts()
    {
        Contact = new List<CreateContact>();
        ClassCreateContact = new List<CreateContact>();
    }
}

您还需要创建一个AddedContacts的实例来处理,最后您需要观察案例:它是Add而不是add:

 AddedContacts AC = new AddedContacts();
 AC.ClassCreateContact.Add(p);

您已经在类中定义了一个属性,但只有当该类的实例存在时,该属性才会存在。您需要通过AddedContacts contacts = new AddedContacts()创建一个实例。然后联系人将是对包含列表的实际对象的引用。

如果希望类本身包含一个列表,请将该属性声明为static

如果不使用setter

public class AddedContacts
{
    public readonly List<CreateContact> Contact = new List<CreateContact>();
}
private void button4_Click(object sender, EventArgs e)
{
    CreateContact p = new CreateContact(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text);
    AddedContacts ac= new AddedContacts();
    ac.Contact.Add(p);
}