mario.deghetto

Visual Basic & .NET
posts - 332, comments - 79, trackbacks - 0

VB 2010: Optional Nullable Parameters e parametri denominati

I parametri opzionali sono dei parametri che vengono passati a un metodo e per i quali viene definito un valore di default. Se non viene passato un valore corrispondente a questi parametri, quindi, verrà utilizzato il valore di default.

Fino alla versione 2008 non era possibile passare un valore nullo, era necessario fornire sempre un valore valido. Dalla versione 2010 possiamo utilizzare un parametro Nullable, cioè un parametro che ammette il valore Nothing e che può essere verificato con l'operatore Is Nothing, come si può vedere dal codice seguente:

Visual Basic
  1.   Private Sub MetodoConParamNullable(
  2.       ByVal param1 As String,
  3.       Optional ByVal param2 As Integer? = Nothing)
  4.     If param2 Is Nothing Then
  5.       MessageBox.Show("Parametro nullo")
  6.     End If
  7.   End Sub

Un'altra caratteristica importante è la possibilità di utilizzare il nome di un parametro opzionale per assegnare un valore. Questo permette di non dover specificare tutti i parametri opzionali che precedono l'unico che vogliamo specificare. Per esempio:

Visual Basic
  1.   ' definiamo una funzione che restituisce
  2.   ' una stringa composta da altre tre stringhe
  3.   ' e con parametri opzionali
  4.   Public Function concatena(
  5.       Optional ByVal a As String = "a",
  6.       Optional ByVal b As String = "b",
  7.       Optional ByVal c As String = "c") As String
  8.     Return a & b & c
  9.   End Function
  10.  
  11.   ' proviamo la funzione ...
  12.   Public Sub ParamDenominati()
  13.     ' ... senza passare parametri
  14.     MessageBox.Show(concatena.ToString)
  15.     ' ... passando solo il terzo parametro
  16.     MessageBox.Show(concatena(c:="x").ToString)
  17.     ' ... passando solo il secondo parametro
  18.     MessageBox.Show(concatena(b:="y").ToString)
  19.   End Sub

Il risultato sarà costituito da tre messaggi, rispettivamente: "abc", "abx" e "ayc".

Print | posted on domenica 26 giugno 2011 14.59 |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 4 and 1 and type the answer here:

Powered by: