Здесь MSDN должен сказать в разделе Когда использовать статические классы:
static class CompanyInfo { public static string GetCompanyName() { return "CompanyName"; } public static string GetCompanyAddress() { return "CompanyAddress"; } //... }
Использовать статический класс как единицу организация методов не связанные с конкретными объектами. Кроме того, статический класс может реализация проще и быстрее потому что вам не нужно создавать объект, чтобы вызвать его методы. Полезно организовать методы внутри класса значимым образом, таких как методы класса Math в пространстве имен System.
Для меня этот пример, похоже, не охватывает очень много возможных сценариев использования для статических классов. Раньше я использовал статические классы для аффилированных наборов связанных функций, но об этом. Итак, при каких обстоятельствах должен (и не должен) класс объявляться статическим?