Junior
Какво е метод за разширение в C#?
sobes.tech AI
Отговор от 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"