C#在类属性中创建列表
我在我的类中创建了以下内容C#在类属性中创建列表,c#,list,scope,C#,List,Scope,我在我的类中创建了以下内容 private List<CreditCardTransaction> _ccTransactions = new List<CreditCardTransaction>(); public List<CreditCardTransaction> ccTransactions { get { return _ccTransactions; } set { _ccTransactions = va
private List<CreditCardTransaction> _ccTransactions = new List<CreditCardTransaction>();
public List<CreditCardTransaction> ccTransactions
{
get { return _ccTransactions; }
set { _ccTransactions = value; }
}
然而,在“CCU交易”下面有一条红色波浪线,表示
错误1非静态字段、方法或属性“CreditCardTransactionKeeper.CreditCardTransaction.\u ccTransactions”需要对象引用
当我在定义此列表的类中的某个方法中时,向列表中添加新项的正确方法是什么?您无法访问静态函数中的非静态字段(
\ccTransactions
),因此,我假设您的另一个函数是静态的
您需要将
\u ccTransactions
设置为静态,将调用函数设置为非静态,或者获取该类对象的引用以访问\u ccTransactions
。@Philip Rieck绝对正确。然而,为什么静态方法不能访问实例变量,这有意义吗?@Esteban Araya:是的,这有意义。静态方法属于整个类,而不是它的特定实例,因此,就静态方法而言,没有可访问的实例,因此不可能有任何实例变量。@Anna Lear:我想Esteban是在问原始海报。他需要理解行为背后的逻辑才能得到一个真正完整的答案。谢谢你的回答,我在声明前添加了关键字static,这就成功了。
_ccTransactions.Add(new CreditCardTransaction(Convert.ToString(items[0]), Convert.ToString(items[1]), Convert.ToDouble(items[2]), DateTime.Parse(items[3])));