C# 从“是\否”对话框返回结果的Void?
我想调用一个方法,该方法打开并显示一个对话框窗口,询问一个问题,然后返回答案。这是我的尝试,但到目前为止失败了 遵守守则:C# 从“是\否”对话框返回结果的Void?,c#,dialog,return-value,C#,Dialog,Return Value,我想调用一个方法,该方法打开并显示一个对话框窗口,询问一个问题,然后返回答案。这是我的尝试,但到目前为止失败了 遵守守则: using System; using System.Windows.Forms; class mainClass { static public void Asker() { var uInput = MessageBox.Show( "Do you like people?", "Sir Asks
using System;
using System.Windows.Forms;
class mainClass {
static public void Asker() {
var uInput = MessageBox.Show(
"Do you like people?",
"Sir Askscelot",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
);
return uInput;
}
static void Main() {
var result = Asker();
if (result == DialogResult.No) {
Console.WriteLine("Why?!");
}
else {
Console.WriteLine("Good thing!");
}
}
}
观察错误:
注意:我对C有点陌生,所以我不知道我的代码除了这个错误之外是否还有其他错误。在代码中,
Asker
的返回类型列为void
,这意味着该方法不返回任何结果。但是,您正在从中返回一个对话框结果
,这是一个错误。方法既不能返回值,也不能返回值
您的Asker
方法需要声明为:
static public DialogResult Asker() {
非常感谢!现在可以了。我真的很想知道。。。如果我不知道该方法将返回什么呢?如果它可以返回多个东西呢?与这个问题无关,因为我现在不需要这些知识。我只是好奇;)一个方法只能返回一个值。它可以返回一个
对象
,它是所有类型的基类,因此可以存储任何内容。通常,您将知道方法将返回什么类型。通常确实如此+谢谢。