2010-11-27 98 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