Il namespace My è stato introdotto in Visual Basic 2005: contiene un’insieme di oggetti che forniscono percorsi ‘semplificati’ a molte aree del framework .NET, semplificando la scrittura del codice e riducendo la grandezza dello stesso.

Da notare che tale funzionalità è disponibile esclusivamente in VisualBasic .NET: non esiste niente di equivalente in C#.

Diamo ora un rapido sguardo a gli oggetti contenuti nel namespace

  • My.Application fornisce informazioni sull’applicazione corrente (percorso, versione ecc..)
  • My.Computer mette a disposizione una serie di oggetti child che permettono di avere informazioni e accedere a caratteristiche specifiche del computer (filesyste, rete, audio, video, mouse, memoria, stampanti ecc..)
  • My.Forms permette di referenziare l’istanza principale di un form senza la necessità di creare una istanza della classe form.
  • My.Resources fornisce un oggetto per ogni risorsa definita nel progetto corrente.
  • My.Settings espone una proprietà per ogni impostazione di configurazione, sia a livello di applicazione che a livello utente
  • My.User fornisce informazioni sull’utente collegato e permette la realizzazione di un sistema di autenticazionepersonalizzato
  • My.WebServices mette a disposizione una proprietà per ciascun WebService a cui il progetto corrente fa riferimento.

Trattare tutte le funzionalità del namespace My in un singolo articolo è improponibile, mi limiterò quindi a proporre qualche semplice esempio di utilizzo, quasi tutti tratti da MSDN .

  • Scrivere nei log di sistema: utilizzeremo l’entry point My.Application.Log My.Application.Log.WriteEntry(“Avvio Applicazione”)
  • Effettuare il download di un file: My.Computer.Network.DownloadFile(“http://sito/file.zip”, “c:\temp") file.zip verrà scaricato nella directory c:\temp
  • Eseguire un file sonoro come ‘sottofondo’ a una applicazione: My.Computer.Audio.Play(“c:\suono.wav”, AudioPlayMode.BackgroundLoop) per fermarne l’esecuzione My.Computer.Audio.Stop()
  • Scrivere e leggere nella clipboard: My.Computer.Clipboard.SetText(“testo”) Dim testoclip As String = My.Computer.Clipboard.GetText
  • Effettuare un ‘ping’: If My.Computer.Network.Ping(“andreafortuna.wordpress.com”) Then MessageBox.Show(“Host raggiungibile!”) Else MessageBox.Show(“Host NON raggiungibile!”) End If
  • Copiare un file: My.Computer.FileSystem.CopyFile(“C:\Temp\test.txt”, “C:\Logs”) Se si vuole fare in modo che il file venga sovrascritto se già presente e venga visualizzata la finestra standard di ‘copia in corso’ usare questa sintassi My.Computer.FileSystem.CopyFile(“C:\Temp\test.txt”, “C:\Logs”, True, True)
  • Scrivere e leggere valori nel registro di configurazione: My.Computer.Registry.SetValue _ (“HKEY_CURRENT_USER\MyTestKey”,”MyTestKeyValue”,”This is a test value.”) readValue = My.Computer.Registry.GetValue _ (“HKEY_CURRENT_USER\MyTestKey”, “MyTestKeyValue”, Nothing)
  • Ottenere informazioni sul sistema: Memoria fisica disponibile My.Computer.Info.AvailablePhysicalMemory Memoria fisica totale My.Computer.Info.TotalPhysicalMemory Sistema Operativo My.Computer.Info.OSFullName & vbCrLf & _ My.Computer.Info.OSPlatform & vbCrLf & My.Computer.Info.OSVersion

Come al solito, per maggiori informazioni, vi rimando alla apposita pagina su MSDN .