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
}
您需要在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);
}