Sobes.tech
Junior
110
questionbank

В чем суть методов расширения?

Answer from AI

sobes.tech AI

Методы расширения позволяют добавлять новые методы к существующим типам без изменения их исходного кода или создания нового производного типа.

Основные принципы:

  • Методы расширения — это статические методы статического класса.
  • Первый параметр метода расширения указывает тип, который расширяется, и должен быть помечен ключевым словом this.
  • Методы расширения вызываются как будто они являются обычными методами экземпляра расширяемого типа.
// Статический класс для хранения методов расширения
public static class StringExtensions
{
    // Метод расширения для типа string
    public static int WordCount(this string str)
    {
        // Разделяем строку по пробелам и считаем элементы
        return str.Split(new char[] { ' ', '.', '?' }, StringSplitOptions.RemoveEmptyEntries).Length;
    }
}

// Использование метода расширения
public class Program
{
    public static void Main(string[] args)
    {
        string sentence = "Это тестовая строка.";
        int wordCount = sentence.WordCount(); // Вызов метода расширения как обычного
        Console.WriteLine($"Количество слов: {wordCount}");
    }
}