Описание тега extension-methods
Метод расширения - это языковая функция некоторых языков, таких как Swift, Visual Basic.NET и C#. Методы расширения позволяют "добавлять" методы к существующим типам без создания нового производного типа, перекомпиляции или иного изменения исходного типа.
Метод расширения - это новая языковая функция C#, начиная со спецификации 3.0, а также Visual Basic.NET, начиная с 9.0, и Oxygene с 2.0, и является фундаментальным аспектом Swift. Методы расширения позволяют "добавлять" методы к существующим типам без создания нового производного типа, перекомпиляции или иного изменения исходного типа. Методы расширения - это особый вид статических методов, но они вызываются так, как если бы они были методами экземпляра расширенного типа. Для клиентского кода, написанного на C# и Visual Basic, нет очевидной разницы между вызовом метода расширения и методами, которые фактически определены в типе.