Методы расширения (extension methods) предоставляют удобный способ добавления новых методов в существующие типы без необходимости модификации исходного кода этих типов или создания новых подклассов. Это позволяет улучшить функциональность классов и интерфейсов, не нарушая принципов инкапсуляции. Создание метода расширения. Методы расширения определяются как статические методы в статическом классе. Первый параметр метода обозначает тип, для которого метод расширения предназначен, и предваряется ключевым словом this...
Любой пользователь компьютера знает, что у имени файла может быть расширение. Как правило, оно разделяется точкой. Взглянув на имя файла мы понимаем, что вася.jpg» это возможно изображение в формате jpg, а «петя.doc» скорее всего является документом. Почему я написал «возможно» и «скорее всего»? Причина проста — расширение в имени файла может быть абсолютно любым. Можно переименовать картинку «.jpg» в «.doc» и наоборот. Также можно самостоятельно создать файл с произвольным именем. Расширение у файлов...