关于类公共类声明,请查看这两段代码:
public class Helper
{
public static void CallMeganFox(string phoneNumber)
{ //...
和
public static class Helper
{
public static void CallMeganFox(string phoneNumber)
{ //...
有什么好用的?为什么?
答案 0 :(得分:4)
理论上“更好”是明确表示不应该通过使它成为static
(第二个选项)来实例化该类,因为它传达意图¹。
然而,在这种简单的情况下,从实际的角度来看,差别就是零差异²。没有人会看这个类并尝试实例化它。
¹正如Cody Gray指出的那样,它也可以帮助你更早地发现错误(例如忘记制作辅助方法static
)。虽然这个观点当然有价值,但实际的差异可以忽略不计:编译器会在你试图在任何情况下静态调用该方法时抱怨。
²实际上,并非总是如此。例如,C#编译器不允许您在非static
类中定义扩展方法 - 不是因为它不能,而是因为它想要推动您进行“最佳实践”。
答案 1 :(得分:1)
static
类不能有非静态方法。如果那是你想要的 - 那就用它吧。
可以找到更多信息in this SO question and answers.