2010-11-27 106 views
0

我創造了我的課C#創建類的屬性中列表

private List<CreditCardTransaction> _ccTransactions = new List<CreditCardTransaction>(); 

    public List<CreditCardTransaction> ccTransactions 
    { 
     get { return _ccTransactions; } 
     set { _ccTransactions = value; } 
    } 

內的下列在另一個公共功能(在同一個班),我嘗試使用下面的代碼添加一個值到列表:

_ccTransactions.Add(new CreditCardTransaction(Convert.ToString(items[0]), Convert.ToString(items[1]), Convert.ToDouble(items[2]), DateTime.Parse(items[3]))); 

然而在「_ccTransactions」紅色波浪線說

錯誤1的對象引用是所必需的非靜態字段,方法或屬性「CreditCardTransactionKeeper.Cr editCardTransaction._ccTransactions'

當我在定義此列表的類的方法中時,我向列表中添加新項目的正確方法是什麼?

+0

@Philip Rieck是絕對正確的。然而,爲什麼靜態方法無法訪問實例變量? – 2010-11-27 03:35:35

+0

@Esteban Araya:是的,這很有道理。一個靜態方法屬於整個類,而不是它的一個特定實例,所以既然靜態方法沒有可訪問的實例,就不能有任何實例變量。 – 2010-11-27 03:45:18

回答

7

您無法訪問靜態函數中的非靜態字段(_ccTransactions) - 我錯誤地認爲您的其他函數是靜態函數。

您需要使_ccTransactions爲靜態,使您的調用函數爲非靜態,或者獲取對該類的對象的引用以訪問_ccTransactions