2014-11-04 69 views
-4

我想添加新的obj到列表類,但是告訴我我需要obj引用該屬性。我不知道我應該做什麼,你能給我一個小費嗎?C#如何添加到列表類?

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 

    } 
+0

的可能重複[什麼是一個NullReferenceException,如何解決呢?(http://stackoverflow.com/questions/4660142/what-is-a- nullreferenceexception-how-do-i-fix-it) – walther 2014-11-04 09:28:31

+1

不,他試圖訪問一個像靜態一樣的實例屬性。 – Dirk 2014-11-04 09:29:00

+1

兩者都是不相關的鏈接。問題是關於如何訪問實例成員:) – 2014-11-04 09:29:35

回答

0

您需要實例化列出您AddedContacts類的構造函數財產申報:

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一起工作,最後你需要注意的情況:這是Addadd

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

問題是他還沒有AddedContacts的實例,所以添加字段初始化將無濟於事 – 2014-11-04 09:35:32

+0

你比我的VS ..更快! ;-) – TaW 2014-11-04 09:37:51

0

您已經在一個類中定義了一個屬性,但是隻有當該類的一個實例存在時該屬性纔會存在。您需要通過AddedContacts contacts = new AddedContacts()創建一個實例。然後,聯繫人將成爲對包含列表的實際對象的引用。

如果你想在類本身包含一個列表,static

0

如果你不會使用的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); 
} 
+1

問題是,他甚至沒有AddedContacts的實例,所以添加字段初始化將無助於 – 2014-11-04 09:36:07

+0

@Matt opps,你是對的。 – serdar 2014-11-04 09:37:47

+0

@Matt編輯,謝謝 – serdar 2014-11-04 09:45:01