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当然可以。你认为你理解它为什么现在抛出错误了吗?如果没有,告诉我你认为问题出在哪里,我会填补任何空白。我知道我错在哪里了。我没有添加调用不同方法时添加的两个参数。谢谢你的帮助。