Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 没有给出与所需形式参数';名称';属于';QuestionTwoScreen.QuestionTwoScreen(字符串,int)和#x27;_C#_Visual Studio 2017 - Fatal编程技术网

C# 没有给出与所需形式参数';名称';属于';QuestionTwoScreen.QuestionTwoScreen(字符串,int)和#x27;

C# 没有给出与所需形式参数';名称';属于';QuestionTwoScreen.QuestionTwoScreen(字符串,int)和#x27;,c#,visual-studio-2017,C#,Visual Studio 2017,以下是我遇到的错误: private void ShowNextQuestion() { timer1.Stop(); Hide(); new QuestionTwoScreen().Show(); } 错误是newQuestionTwoScreen().show() 错误CS7036:没有给定与“QuestionTwoScreen.QuestionTwoScreen(string,int)”的必需形式参数“name”对应的参数

以下是我遇到的错误:

private void ShowNextQuestion()
    {
        timer1.Stop();
        Hide();
        new QuestionTwoScreen().Show();
    }
错误是
newQuestionTwoScreen().show()
错误CS7036:没有给定与“QuestionTwoScreen.QuestionTwoScreen(string,int)”的必需形式参数“name”对应的参数

我认为我没有把这部分做对:

public QuestionOneScreen()
    {
        InitializeComponent();
        CenterToScreen();
        AllowDropping();
        ScoreLbl.Text = "Score: " + StartScreen.Player.Score;
        SetupTimer();
    }
我认为,因为我在QuestionTwo屏幕上看到:

public QuestionTwoScreen(string name, int quizSelection)
    {
        InitializeComponent();
        CenterToScreen();
        ScoreLbl.Text = "Score: " + StartScreen.Player.Score;
        SetupQuiz(name,quizSelection);
    }
我看不出哪里出了问题,但是我知道“QuestionOneScreen”没有(字符串,int)。这就是出现错误的原因还是其他原因?

您的“QuestionTwoScreen”类构造函数要求在每次创建/实例化时为其提供两个对象(字符串名称、int-quizSelection)。由于在构造类时未传入任何值,因此引发getting错误。要解决此问题,您可以做两件事:

缺少参数的附加值

new QuestionTwoScreen("Example Name", 0/*Example Int*/).Show();
public QuestionTwoScreen(string name = String.Empty, int quizSelection = 0)
    {
        InitializeComponent();
        CenterToScreen();
        ScoreLbl.Text = "Score: " + StartScreen.Player.Score;
        SetupQuiz(name,quizSelection);
    }
将默认值添加到参数

new QuestionTwoScreen("Example Name", 0/*Example Int*/).Show();
public QuestionTwoScreen(string name = String.Empty, int quizSelection = 0)
    {
        InitializeComponent();
        CenterToScreen();
        ScoreLbl.Text = "Score: " + StartScreen.Player.Score;
        SetupQuiz(name,quizSelection);
    }

你不明白错误消息的哪一部分?是的,你创建了一个需要2个参数的构造函数,但没有提供它们。我不明白这意味着什么,但我知道缺少了一些东西,我想这就是为什么我会出错的原因。你不明白哪一部分?我需要添加
字符串名称吗,int questionSelection
到QuestionOne屏幕?@FSCockers当然可以。你认为你理解它为什么现在抛出错误了吗?如果没有,告诉我你认为问题出在哪里,我会填补任何空白。我知道我错在哪里了。我没有添加调用不同方法时添加的两个参数。谢谢你的帮助。