41 lines
834 B
VB.net
41 lines
834 B
VB.net
Option Explicit
|
|
'--------------------------------------------------
|
|
Sub varargs(ParamArray a())
|
|
Dim n As Long, m As Long
|
|
Debug.Assert VarType(a) = (vbVariant Or vbArray)
|
|
For n = LBound(a) To UBound(a)
|
|
If IsArray(a(n)) Then
|
|
For m = LBound(a(n)) To UBound(a(n))
|
|
Debug.Print a(n)(m)
|
|
Next m
|
|
Else
|
|
Debug.Print a(n)
|
|
End If
|
|
Next
|
|
End Sub
|
|
'--------------------------------------------------
|
|
Sub Main()
|
|
Dim v As Variant
|
|
|
|
Debug.Print "call 1"
|
|
varargs 1, 2, 3
|
|
|
|
Debug.Print "call 2"
|
|
varargs 4, 5, 6, 7, 8
|
|
|
|
v = Array(9, 10, 11)
|
|
Debug.Print "call 3"
|
|
varargs v
|
|
|
|
ReDim v(0 To 2)
|
|
v(0) = 12
|
|
v(1) = 13
|
|
v(2) = 14
|
|
Debug.Print "call 4"
|
|
varargs 11, v
|
|
|
|
Debug.Print "call 5"
|
|
varargs v(2), v(1), v(0), 11
|
|
|
|
End Sub
|