静态类必须从对象派生(C#)

时间:2011-06-27 17:39:29

标签: c# .net windows

我在C#中遇到问题,输出状态为:

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");

        }
    }

3 个答案:

答案 0 :(得分:38)

这意味着static类在声明中不能有: BaseClass。他们不能继承任何东西。 (System.Object的继承是通过声明什么来隐含的。)

static班只能有static个成员。只有实例成员被继承,因此继承对static类来说是无用的。您所要做的就是删除: Form

答案 1 :(得分:4)

看看这个类似的问题:Why can't I inherit static classes?

答案 2 :(得分:0)

有没有理由从Form派生Hello和Hello2?如果没有,请执行:

public static class Hello2
{
    ...
}

同样适用于类Hello