Как добавить необязательные параметры / параметры по умолчанию в функцию VB? - PullRequest
31 голосов
/ 19 ноября 2008

Как создать метод с необязательными параметрами в Visual Basic?

Ответы [ 2 ]

69 голосов
/ 19 ноября 2008

Используйте ключевое слово Optional и укажите значение по умолчанию. Необязательные параметры должны быть последними определенными параметрами, чтобы избежать создания неоднозначных функций.

Sub MyMethod(ByVal Param1 As String, Optional ByVal FlagArgument As Boolean = True)
    If FlagArgument Then
        'Do something special
        Console.WriteLine(Param1)
    End If

End Sub

Назовите это так:

MyMethod("test1")

Или вот так:

MyMethod("test2", False)
0 голосов
/ 12 октября 2018

Имейте в виду, что необязательный аргумент не может иметь место перед обязательным аргументом.

Этот код покажет ошибку:

Sub ErrMethod(Optional ByVal FlagArgument As Boolean = True, ByVal Param1 As String)
    If FlagArgument Then
        'Do something special
        Console.WriteLine(Param1)
    End If
End Sub

Это распространенная ошибка, мало что объясняемая отладчиком ... Имеет смысл представить себе звонок ...

ErrMethod(???, Param1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...