MessageShow 在另一个 class 中?

MessageShow in another class?

这是我第一次尝试将单独的 class 实现为 class 形式,而不是将所有内容都放在 class 形式中。我该如何连接两者?单击按钮时,我希望它能够显示带有 MessageBox.Show 的字母等级。

谢谢。

Form1.cs

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

    }

    public void button1_Click(object sender, EventArgs e)
    {
        Grade Nested = new Grade();

    }
}

Class.cs

class Grade
{
    private int number;

    public int Number
    {
        get { return number; }

        set { number = value; }
    }

    public static int Nested(int grade)
    {

        if (grade >= 93)
        {
            MessageBox.Show("A");
        }

        else if (grade >= 90 && grade <= 92)
        {
            MessageBox.Show("A-");
        }

        else if (grade >= 87 && grade <= 89)
        {
            MessageBox.Show("B+");
        }

        else if (grade >= 83 && grade <= 86)
        {
            MessageBox.Show("B");
        }

        else if (grade >= 80 && grade <= 82)
        {
            MessageBox.Show("B-");
        }

        else if (grade >= 77 && grade <= 79)
        {
            MessageBox.Show("C+");
        }

        else if (grade >= 73 && grade <= 76)
        {
            MessageBox.Show("C");
        }

        else if (grade >= 70 && grade <= 72)
        {
            MessageBox.Show("C-");
        }

        else if (grade >= 67 && grade <= 69)
        {
            MessageBox.Show("D+");
        }

        else if (grade >= 63 && grade <= 66)
        {
            MessageBox.Show("D");
        }

        else if (grade >= 60 && grade <= 62)
        {
            MessageBox.Show("D-");
        }

        else if (grade <= 59)
        {
            MessageBox.Show("F");
        }
        return;
    }
}

你已经制作了Nested方法static,所以你可以这样调用它:

public void button1_Click(object sender, EventArgs e)
{
    var grade = int.Parse(someTextBox.Text);
    Grade.Nested(grade);
}

我假设成绩来自表单上的文本框,并且我跳过了所有验证和错误处理。


此外,Number 属性 和字段在您显示的代码中不执行任何操作。

您可能还会发现 Code Review.SE 是获得有关您的编码风格的反馈的好地方。

而不是 return 输入 int。 Return 键入string 会更合适,您不需要一次又一次地重复MessageBox.Show()。或者只是 void.

public static string Nested(int grade)
        {
            if (grade >= 93)
            {
                return "A";
            }
....

MessageBox部分应该是这样的,

string test =  Nested.Nested(number);
MessageBox.Show(test);

希望有所帮助,