基本上,我尝试使用从 StackOverflow 找到的这段代码,它与我想要在我的 pictureBox 之间进行的一些碰撞检测相关联。但是,我遇到一个错误,指出 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
是一个类。你不能迭代一个类,你必须迭代一个对象。具体来说(在本例中),您必须遍历 Control
对象的集合。我想也许你想要:
foreach (Control pictureBox in Controls)
在这里,我正在遍历当前对象的 Controls
属性。这是假设您是从 Main
的实例内部执行此操作的。否则,您将需要引用 Form
对象并使用:
foreach (Control pictureBox in myFormObject.Controls)
关于c# - Main 是一个 'type' 但像 'variable' 一样使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23055834/