Статические классы должны выводиться из объекта (С#)

У меня проблема с С#, выходные состояния:

Error   1   Static class 'WindowsFormsApplication1.Hello2' 
cannot derive from type 'System.Windows.Forms.Form'. Static classes 
must derive from object.

Как я могу это исправить?

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

        }

        private void button1_Click(object sender, EventArgs e)
        {
             Hello2.calculate();
        }
    }



    public class Hello : Form
    {
        public string test { get; set; }

    }


    public static class Hello2 : Form
    {
        public static void calculate()
        {
            Process.Start("test.exe");

        }
    }

Ответы

Ответ 1

Это означает, что классы static не могут иметь : BaseClass в объявлении. Они ничего не могут наследовать. (Наследование от System.Object неявно, не объявляя ничего.)

Класс static может содержать только static членов. Только экземпляры экземпляров наследуются, поэтому наследование бесполезно для классов static. Все, что вам нужно сделать, это удалить : Form.

Ответ 3

Есть ли какая-то причина для получения Hello и Hello2 из формы? Если нет, просто выполните:

public static class Hello2
{
    ...
}

аналогично для класса Hello