Перегрузка позволяет разработчику определить несколько функций с одинаковым именем, но с разными параметрами. Списки параметров могут содержать одинаковое или разное число параметров, которые, в свою очередь, могут быть как одного, так и разных типов. На основании списка параметров компилятор определяет во время компиляции, какая из версий данной функции должна быть вызвана. В том случае, если функция возвращает какое-либо значение, типы данных списка параметров и возвращаемый тип образуют сигнатуру (signature). приведен пример двух функций, выполняющих совершенно разные действия, но имеющих одну и ту же сигнатуру.
Сигнатуры функций
Public Function FunctionOne(ByVal companyName as String, ByVal companylD as Integer) as String End Function Public Function FunctionTwo.(ByVal firstName as String, ByVal employeeID as Integer) as String End Function
Перегрузка функций является мощным средством, позволяющим создавать во время проектирования достаточно гибкие конструкции. Пример перегрузки функций приведен (обратите внимание, что функции имеют одинаковое имя, но разные сигнатуры). В языке VB.NET необходимо явно объявить перегрузку функций, используя ключевое слово Overloads.
Перегрузка функции
Public Overloads Function AddValues(ByVal Valuel as Integer, ByVal Value2 as Integer) As Integer Return Valuel + Value2 End Function Public Overloads Function AddValues(ByVal Valuel as Integer, ByVal Value2 as Integer, ByVal Value3 as Integer) as Integer Return Valuel + Value2 + Value3 End Function