0

私はコンソールで完全に機能するdecimaltoに取り組んでいますが、コアの数学演算について次のエラーが発生します。binary converter

System.Windows.Forms.Buttonの定義が含まれておらず、型の最初の引数を受け入れるToInt32拡張メソッドが見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)行:93ToInt32System.Windows.Forms.Button

メソッド'ToString'のオーバーロードは2つの引数を取りませんLine:94

System.Windows.Forms.Buttonには、「ToInt32」の定義が含まれておらず、「System.Windows.Forms.Button」タイプの最初の引数を受け入れる拡張メソッド「ToInt32」が見つかりませんでした(usingディレクティブまたはアセンブリリファレンス?)行:103

コードは次のとおりです。

    public void Convert_Click(object sender, EventArgs e)
    {
        string Input;
        bool IsNotBinary;
        string Answer;
        Start:
        Input = UserInput.Text;
        int InputLength = Input.Length;
        if (InputLength > 10)
        {
            UserInput.Text = "Overflow";
            goto Start;
        }
        int Int;
        bool IsANumber = int.TryParse(Input, out Int);
        if (IsANumber == false)
        {
            UserInput.Text = "Invalid Character";
            goto Start;
        }
        IsNotBinary = Input.Contains("3");
        if (IsNotBinary == true)
        {
            goto End;

        }
        IsNotBinary = Input.Contains("4");
        if (IsNotBinary == true)
        {
            goto End;

        }
        IsNotBinary = Input.Contains("5");
        if (IsNotBinary == true)
        {
            goto End;

        }
        IsNotBinary = Input.Contains("6");
        if (IsNotBinary == true)
        {
            goto End;

        }
        IsNotBinary = Input.Contains("7");
        if (IsNotBinary == true)
        {
            goto End;

        }
        IsNotBinary = Input.Contains("8");
        if (IsNotBinary == true)
        {
            goto End;

        }
        IsNotBinary = Input.Contains("9");
    End:

        if (IsNotBinary == true)
        {

            // decimal to binary
            int InputInt = Convert.ToInt32(Input); // converts the string "Input" to the int "InputInt"
            Answer = Convert.ToString(InputInt, 2);
            UserInput.Text = Answer;

        }

        else
        {

            // binary to decimal
            Answer = Convert.ToInt32(Input, 2).ToString();
            UserInput.Text = Answer;

        }
        Console.ReadLine();
        goto Start;
    }

    public void QuitButton_Click(object sender, EventArgs e)
    {
        Application.Exit();
    }        
}

}

4

1 に答える 1

7

エラーメッセージは非常に明確です。

System.Windows.Forms.Button'には、'ToInt32'の定義が含まれていません

私のサイキックデバッガーは、という名前のクラスレベルのボタン変数があることを教えてくれます。そのため、ボタンがメソッドを非表示にしているため、静的クラスConvertのメソッドを呼び出していません。ボタンの名前を変更するか、名前を完全に修飾します。つまり、。ToInt32ConvertSystem.Convert.ToInt32()

編集:

さて、私は結局、私のサイキックデバッガーを必要としなかったと思います。あなたのイベントハンドラーは私が知る必要があるすべてを教えてくれます:

public void Convert_Click(...)
于 2012-08-13T03:44:21.357 に答える