Назад к вопросам
Junior
157
questionbank
Что такое метод расширения в C#?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Метод расширения (Extension Method) - это статический метод, который может быть вызван так, как будто он является методом расширяемого типа, хотя фактически он определен вне этого типа.
Основные особенности:
- Это статический метод, объявленный в статическом классе.
- Первый параметр метода расширения должен быть помечен ключевым словом
thisи указывать на тип, который вы хотите расширить. - Методы расширения не имеют доступа к приватным и защищенным членам расширяемого типа.
- Они позволяют добавлять функциональность к существующим типам без изменения их исходного кода или использования наследования.
Пример создания и использования:
-
Определение статического класса и статического метода расширения:
public static class StringExtensions // Статический класс { public static string ToTitleCase(this string input) // Метод расширения для типа string { if (string.IsNullOrEmpty(input)) { return input; } // Простая логика преобразования к Title Case return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower()); } } -
Использование метода расширения:
string myString = "hello world"; string titleCaseString = myString.ToTitleCase(); // Вызов как если бы это был обычный метод string // titleCaseString теперь содержит "Hello World"