Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Curiosità sul passaggio di Nothing
Forum - C# / VB.NET - Curiosità sul passaggio di Nothing

Avatar
Question (Normal User)
Rookie


Messaggi: 58
Iscritto: 14/12/2010

Segnala al moderatore
Postato alle 19:54
Giovedì, 26/05/2011
Ciao a tutti,
oggi stavo programmando una cosa e mi è venuto un dubbio di cui mi piacerebbe sapere la vostra opinione :yup:

Se io ho una procedura che esegue diverse operazioni ed ho il bisogno di chiamarla più volte nel corso del programma compreso il load della form, è più conveniente in fatto di risorse mettere queste istruzioni nell'handler del Load e poi richiamarlo passandogli Nothing come argomenti, oppure creare e chiamare una sub senza argomenti?
Forse il codice parlerà più chiaro:


Codice sorgente - presumibilmente VB.NET

  1. Public Class Form
  2.     Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.         MessageBox.Show("Hello World!", "Hello")
  4.     End Sub
  5.  
  6.     Private Sub MyObject_MyEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyObject.MyEvent
  7.         Form_Load(Nothing, Nothing)
  8.     End Sub
  9. End Class



Codice sorgente - presumibilmente VB.NET

  1. Public Class Form
  2.     Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.         HelloWorld()
  4.     End Sub
  5.  
  6.     Private Sub MyObject_MyEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyObject.MyEvent
  7.         HelloWorld()
  8.     End Sub
  9.  
  10.     Private Sub HelloWorld()
  11.         MessageBox.Show("Hello World!", "Hello")
  12.     End Sub
  13. End Class




So bene che, nel caso ci fosse, la differenza sarebbe minimale, ma mi piacerebbe saperlo comunque :k:

Ultima modifica effettuata da Question il 26/05/2011 alle 19:57
PM
Avatar
R0gerBlack (Member)
Expert


Messaggi: 210
Iscritto: 10/06/2010

Up
3
Down
V
Segnala al moderatore
Postato alle 21:29
Giovedì, 26/05/2011
Personalmente preferisco la Sub senza argomenti, puoi dividere una grande azione in più Sub che ognuna fa il suo lavoro potendole richiamare singolarmente insieme, è più ordinato ed è una soluzione che adotto tutte le volte che mi capita di dover ripetere del codice contenuto in un controllo o nel Form1_Load.Pensa se il Form1_Load facesse altro oltre che eseguire le righe di codice in una Sub (come capita in tutti i programmi decenti), in quel caso non si potrebbe richiamare perché non si richiamerebbe solo quel codice.
In questo caso non è indifferente, perché dividendo in Sub, si renderebbe quella parte del codice richiamabile singolarmente, evitando di ripetere altro codice nel Form1_Load e quindi facendo un codice più ordinato e ottimizzato.

Quindi opterei personalmente sul secondo esempio che hai scritto.

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
1
Down
V
Segnala al moderatore
Postato alle 20:34
Giovedì, 26/05/2011
indifferente in qualsiasi ambito.

Edit: intendo qualsiasi ambito legato alle performance, ovviamente per la modularità del codice la scelta della sub a parte non si discute...

Ultima modifica effettuata da HeDo il 26/05/2011 alle 22:54
PM