Why do members of a static class need to be declared as static? Why isn't it just implicit?
Obviously there can't be an instance member on a static class, since that class could never be instantiated. Why do we need to declare members as static? I get asked questions like this all the time. Basically the question boils down to "when a fact about a declared member can be deduced by the compiler should the explicit declaration of that fact be (1) required, (2) optional, or (3) forbidden?" There's no one easy answer. Each one has to be taken on a case-by-case basis. Putting "static" on a member of a static class is required. Putting "new" on a hiding, non-overriding method of a derived