Main是一个';type';而是像';变量';

本文关键字:type 变量 一个 Main | 更新日期: 2023-09-27 17:58:07

基本上,我试图使用从StackOverflow中找到的这段代码,它与我想要的pictureBoxes之间的一些冲突检测有关。但是,我遇到一个错误,指出Form名称是一个类型,但使用起来像变量。代码在这里:

foreach (Control PictureBox in Main)
{
    if (Player.Bounds.IntersectsWith(PictureBox.Bounds))
    {
    }
}

在foreach循环中。它在单词Main的下面划线,说明这些确切的单词:

'Namespace.Main' is a 'type' but is used like a 'variable'

Main是一个';type';而是像';变量';

Main。你不能迭代一个类,你必须迭代一个对象。具体来说(在本例中),您必须对Control对象的集合进行迭代。我想也许你想要:

foreach (Control pictureBox in Controls)

在这里,我正在迭代当前对象的Controls属性。这是假设您在Main的实例内部执行此操作。否则,您将需要对Form对象的引用,并使用:

foreach (Control pictureBox in myFormObject.Controls)