在 foreach 的迭代中访问类的方法

问题描述

我正在尝试访问存储在 foreach 上的数组列表中的类的方法,但它不起作用。 例如:

有以下课程:

class MyClass
{
    private int number;
    public MyClass()
    {
       this.number = 0;
    }
    public void addNumber(int add) 
    {
         this.number += add;
    }
}

如果在我的主课中我这样做:

MyClass myclass = new MyClass();
ArrayList myarray = new ArrayList();
myarray.Add(myclass);
foreach ( MyClass mclss in myarray )
{
     mclss.addNumber(2);
}

它说“mclss 不包含 addNumber 的任何定义...” 我该怎么做?

感谢您的帮助!

解决方法

使用 List 而不是 ArrayList 按预期工作。

,

您需要关闭 foreach 括号。 即,

foreach(MyClass mclss in myarray)

否则,这将构建并运行良好。