Junior
112
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}");
}
}