Ответ 1
Нет. Сделать это статическим классом.
Я столкнулся с классом, который не статичен, но все методы и переменные являются статическими. Например:
public class Class1 {
private static string String1 = "one";
private static string String2 = "two";
public static void PrintStrings(string str1, string str2)
{
...
Все переменные являются статическими во всех экземплярах, поэтому нет смысла иметь отдельные экземпляры класса.
Есть ли причина для создания такого класса?
Нет. Сделать это статическим классом.
Был ли класс написан обратно в .NET 1.x? Статические классы не отображались до С# 2.0.
Нет. Некоторые люди не понимают, что сами классы могут быть статическими и поэтому не включать в определение класса. Это полезно, потому что оно обеспечивает лучшие варианты intellisense и гарантирует, что будущие методы будут добавлены статически.
Это также неявно уплотняет класс.
Статический класс:
Содержит только статические элементы.
Невозможно создать экземпляр.
Запечатан.
Создание статического класса в основном такое же, как создание класса, содержащего только статические члены и частный конструктор.
Нет, если в классе нет членов экземпляра, он должен быть статическим.