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() {

非常感谢!现在可以了。我真的很想知道。。。如果我不知道该方法将返回什么呢?如果它可以返回多个东西呢?与这个问题无关,因为我现在不需要这些知识。我只是好奇;)一个方法只能返回一个值。它可以返回一个
对象
,它是所有类型的基类,因此可以存储任何内容。通常,您将知道方法将返回什么类型。通常确实如此+谢谢。