将静态方法放在静态类中并将实例方法放在静态类中有什么区别?

Che*_*hev 0 c# methods static class static-classes

这两个班级有什么区别?

public static class MyClass
{
    public static string SayHello()
    {
        return "Hello";
    }
}

public static class MyClass
{
    public string SayHello()
    {
        return "Hello";
    }
}
Run Code Online (Sandbox Code Playgroud)

第二个SayHello方法是否也是静态的,因为它在静态类上?如果是这样,当在静态类中定义静态关键字时,有没有理由在方法中包含静态关键字?

Jal*_*aid 8

第二个例子在c#中甚至不可能,你会得到编译时错误:

'SayHello':无法在静态类中声明实例成员

因此,您必须使用static关键字声明静态calss的成员.