Извините за невыученный характер этого вопроса. Если есть простой ответ, просто ссылка на объяснение меня более чем обрадует.
После 6 месяцев программирования я обнаружил, что статические классы в некоторой степени полезны для хранения подпрограмм, которые применяются ко многим различным классам. Вот упрощенный пример того, как я использую статические классы, это класс для разбора текста на различные вещи
public static class TextProcessor
{
public static string[] GetWords(string sentence)
{
return sentence.Split(' ');
}
public static int CountLetters(string sentence)
{
return sentence.Length;
}
public static int CountWords(string sentence)
{
return GetWords(sentence).Length;
}
}
И я использую его очевидными способами, например
class Program
{
static void Main(string[] args)
{
string mysentence = "hello there stackoverflow.";
Console.WriteLine("mysentence has {0} words in it, fascinating huh??", TextProcessor.CountWords(mysentence));
Console.ReadLine();
}
}
. Мой вопрос: почему необходимо заключать эти статические методы в статические класс? Похоже, это бесполезно. Есть ли способ, чтобы эти методы были не обернуты в класс? Я знаю, что инкапсуляция полезна, но я не вижу применения статических методов, заключенных в статический класс. Есть ли что-то, чего мне не хватает стилистически или иначе? Неужели я полностью лаю на глупое дерево? Я слишком много думаю?