C#编程中的错误消息是什么
本文关键字:消息 是什么 错误 编程 | 更新日期: 2023-09-27 18:24:30
我收到一个错误:
"MoveBall.Game"不包含"ballSpeedAxis1"的定义,也找不到接受类型为"MoveBall.Came"的第一个参数的扩展方法"ballSpeed Axis1"(是否缺少using指令或程序集引用?)
一开始,当我尝试一个接一个地插入值时,没有出现任何错误。
int ballSpeedAxis1 = 1;
int ballSpeedAxis2 = 1;
...
int ballSpeedAxis10 = 1;
然而,在我更改为for循环之后,如下所示。
var ballSpeedXAxis = new int[10];
for (int i = 0; i < ballSpeedXAxis.Length; i++)
{
ballSpeedXAxis[i] = 1;
}
错误发生在以下行:
private void OnUpdate(object sender, object e)
{
Canvas.SetLeft(this.ball1, this.ballSpeedXAxis + Canvas.GetLeft(this.ball1));
}
我可以知道我该怎么解决吗?
因为您的变量范围错误。ballSpeedXAxis
应该在类中定义,而不是在初始化它的方法中定义。此外,如果定义类范围的变量,则不能使用var。奇怪的是,在OnUpdate方法中并没有使用索引。
class MyClass {
int[] ballSpeedXAxis = new int[10];
MyClass() { // constructor
for (int i = 0; i < ballSpeedXAxis.Length; i++)
{
ballSpeedXAxis[i] = 1;
}
}
private void OnUpdate(object sender, object e)
{
Canvas.SetLeft(this.ball1, this.ballSpeedXAxis[<some index here>] + Canvas.GetLeft(this.ball1));
}
}
您将ballSpeedXAxis更改为数组,但在您的OnUpdate中,您正试图访问它就好像它是一个正常的整数:
private void OnUpdate(object sender, object e)
{
Canvas.SetLeft(this.ball1, this.ballSpeedXAxis + Canvas.GetLeft(this.ball1));
}
您必须在要使用的数组中指定int的索引
例如.ballSpeedXAxis[0]。
现在你说错误是:
"MoveBall.Game"不包含"ballSpeedAxis1 "的定义
如果您正在使用VisualStudio、MonoDevelop或Xamarin Studio单击错误"错误"窗口中的项应该会将您带到代码中仍然引用ballSpeedAxis1的位置。
您甚至可以尝试按CTRL+F并在搜索框中输入"ballSpeedAxis1"
,然后搜索整个解决方案。
如果使用任一方法都找不到位置,那么某些东西可能不同步,您应该使用IDE的"CLEAN SOLUTION"answers"REBUILD SOLUTION(重新构建解决方案)"功能。