У меня есть интерфейс, подобный
Public Shared Function myfunction(Byval myvar as string, Optional ByVal myarray As ArrayList = Nothing) As String
, но я хочу объявить необязательный массив с значениями по умолчанию ... как это сделать?
Вместо этого вы можете использовать перегрузку
Public Shared Function myfunction(ByVal myvar as String) As String Dim myArray as ArrayList = new ArrayList() '' populate here Return myFunction(myvar, myarray) End Function Public Shared Function myfunction(ByVal myvar as string, _ ByVal myarray as ArrayList) As String End Function
Вы не можете.
Значения параметров по умолчанию должны быть константами времени компиляции;вы не можете использовать объект instanec в качестве значения по умолчанию (за исключением строк).
Вместо этого вы можете проверить, находится ли он внутри Nothing, и, если это так, заполнить его значениями по умолчанию.
Nothing