Visual Basic: restituisce "questo" in una chiamata di funzione
Domanda
Ho una funzione all'interno di una classe che vorrei restituire la classe stessa, tuttavia "restituisco questo" sembra non essere valido in VB.
Sto usando ASP.NET v1.1 se questo fa la differenza?
Il codice di esempio (estremamente semplificato) è il seguente:
Public Class Cart
Private sItems As String
Public Function addItem(ByVal itemName As String) As Cart
sItems = sItems + "|" + itemName + "|"
Return THIS
End Function
End Class
Qualsiasi aiuto sarebbe molto apprezzato. Grazie mille.
Soluzione
In VB Me è la parola chiave, per la classe in cui ti trovi, quindi prova
Public Class Cart
Private sItems As String
Public Function addItem(ByVal itemName As String) As Cart
sItems = sItems + "|" + itemName + "|"
Return Me
End Function
End Class
Altri suggerimenti
solo una piccola dichiarazione pedante
Stai restituendo un'istanza del tipo di classe, non stai restituendo il tipo di classe stesso.
this and Me si riferiscono all'istanza o all'oggetto corrente, piuttosto che alla definizione della classe che sarebbe this.GetType ()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow