salve a tutti,

Stò costruendo una classe con una proprietà indicizzata (con indice opzionale). volevo chiedervi come mai quando io richiamo questa proprietà omettendo l'indice il vb.net me lo pone uguale a 0 anche se come valore predefinito ho messo -1?

vi posto il codice della proprietà:

codice:
    private arrTaglia As String(), arrNEt As String()
    Public Property Taglie(Optional ByVal index As Integer = -1) As String
        Get
            Return arrTaglia(index)
        End Get
        Set(ByVal value As String)
            Dim idx As Integer = index
            If idx > -1 Then
                If value.IndexOf("§") > -1 Then
                    Throw New ArgumentException("Impossibile aggiungere valori multipli alla proprietà Taglie quando viene indicizzata!")
                Else
                    If arrTaglia Is Nothing Then ReDim arrTaglia(idx)
                    If arrNEt Is Nothing Then ReDim arrNEt(idx)
                    If idx > arrNEt.GetUpperBound(0) Then ReDim Preserve arrNEt(idx)
                    If arrNEt(idx) = 0 Then arrNEt(idx) = 3
                    If idx > arrTaglia.GetUpperBound(0) Then ReDim Preserve arrTaglia(idx)
                    arrTaglia(idx) = value
                End If
            Else
                If value.Length > 0 Then
                    If arrTaglia Is Nothing Then ReDim arrTaglia(idx)
                    If arrNEt Is Nothing Then ReDim arrNEt(idx)
                    For Each Taglia As String In value.Split("§")
                        If idx > arrNEt.GetUpperBound(0) Then ReDim Preserve arrNEt(idx)
                        If arrNEt(idx) = 0 Then arrNEt(idx) = 3
                        If idx > arrTaglia.GetUpperBound(0) Then ReDim Preserve arrTaglia(idx)
                        arrTaglia(idx) = Taglia
                        idx += 1
                    Next
                Else
                    Erase arrTaglia
                    Erase arrNEt
                End If
            End If
        End Set
    End Property
ps: ho già provato a cambiare valore predefinito ma quando glielo ometto nel richiamo è sempre = 0