Sobes.tech
Junior — Middle
93

Можешь привести пример, как с помощью C# можно добавить новые функции или расширить возможности существующего типа?

Ответ от нейросети

sobes.tech AI

В C# для добавления новых функций к существующим типам часто используют методы расширения (extension methods). Это статические методы в статическом классе, которые позволяют вызывать их как будто они являются методами самого типа.

Пример: добавим метод, который возвращает количество слов в строке:

public static class StringExtensions
{
    public static int WordCount(this string str)
    {
        if (string.IsNullOrWhiteSpace(str))
            return 0;
        return str.Split(new[] {' ', '\t', '\n'}, StringSplitOptions.RemoveEmptyEntries).Length;
    }
}

// Использование:
string text = "Привет, мир!";
int count = text.WordCount(); // count будет 2

Таким образом, можно расширять функциональность любых типов, не изменяя их исходный код.