我在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");
}
}
答案 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