Методы расширения (extension methods) предоставляют удобный способ добавления новых методов в существующие типы без необходимости модификации исходного кода этих типов или создания новых подклассов. Это позволяет улучшить функциональность классов и интерфейсов, не нарушая принципов инкапсуляции. Создание метода расширения. Методы расширения определяются как статические методы в статическом классе. Первый параметр метода обозначает тип, для которого метод расширения предназначен, и предваряется ключевым словом this. #### Пример простого метода расширения: public static class StringExtensions { public static bool IsnullOrempty(this string str) { return string.IsnullOrempty(str); } } в данном примере метод IsnullOrempty расширяет функциональность класса string. Использование методов расширения После определения метода расширения его можно использовать как если бы это был обычный метод класса. string sample = ""; bool isempty = sample.IsnullOrempty(); Console.WriteLine(isempty); // вывод: