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à:
ps: ho già provato a cambiare valore predefinito ma quando glielo ometto nel richiamo è sempre = 0codice: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