是否需要在静态类中的每个成员之前键入"static"?

afa*_*lek 2 c# static

由于一个static类只能包含static成员,是否需要static在每个成员之前键入?

我真正想知道的是:一个static类可以包含除static成员之外的任何东西吗?如果没有,编译器应该帮助附加staticstatic类的所有成员而不是抱怨......

dca*_*tro 5

由于静态类只能包含静态成员,是否需要在每个成员之前键入static?

本身没有必要,但它使您的代码更具可读性.

接口实现可以提出相同的论点 - 因为它们必须是公共的,为什么我们需要明确地将它们标记为公共?

想象一个你不必将接口实现标记为公共的世界:

public interface I
{
    void M();
}

public class C : I
{
    void M();

    void M2();
}
Run Code Online (Sandbox Code Playgroud)

方法MM2似乎具有相同的访问级别.但是,M是公开的,M2是私人的.通过让编译器强制您标记M为公共,问题就会消失.

可读性一致性是您被迫将接口实现标记为公共和静态类成员静态的原因:公共成员始终标记为公共成员,静态成员始终标记为静态.