簡體   English   中英

C#編程中的此錯誤消息是什么?

[英]What is this error message in C# programming?

我收到一個錯誤:

'MoveBall.Game'不包含'ballSpeedAxis1'的定義,並且找不到擴展方法'ballSpeedAxis1'接受類型為'MoveBall.Game'的第一個參數(是否缺少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的索引

例如this.ballSpeedXAxis [0]。

現在,您說的錯誤是:

'MoveBall.Game'不包含'ballSpeedAxis1的定義

如果您使用的是VisualStudio,MonoDevelop或Xamarin Studio,則在“錯誤”窗口中單擊該錯誤項將使您直接進入代碼中仍然引用ballSpeedAxis1的位置。

您甚至可以嘗試按CTRL + F並輸入'ballSpeedAxis1'
在搜索框中,然后搜索整個解決方案。

如果使用任何一種方法都找不到位置,則可能不同步,因此應使用IDE的“ CLEAN SOLUTION”和“ REBUILD SOLUTION”功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM