Guida al Visual Basic .NET
Capitolo 109° - Guida pratica ad IntelliSense
Data la mole di gente che non usa o non sa usare IntelliSense, ho deciso di scrivere questo capitolo in
più per spiegare l'utilizzo di questa funzione vitale del compilatore. Attivare IntelliSense
Per attivare IntelliSense in Visual Studio o Visual Basic Express, sotto la voce Tools (Strumenti),
scegliere Options (opzioni), quindi selezionare ed espandere la voce Text Editor e aprire il pannello Basic,
come mostrato in figura:
Il pannello Basic, nelle opzioni
Scelta del tipo di una variabile
Accesso ai membri di un oggetto
Passaggio di parametri a un metodo
Assegnazione di valori a un enumeratore
IntelliSense distingue i membri di classe
Tutte le icone che IntelliSense usa per contrassegnare gli oggetti della lista dei suggerimenti non sono assolutamente messe a caso. Hanno un significato ben preciso:
Campo (variabile)
Costante o Valore di enumeratore Metodo Proprietà Struttura Enumeratore Interfaccia Classe Namespace Modulo Delegato Evento Operatore Tipo base (String, Byte, Short, Integer, Long, Single, Double, Boolean, Date, Object, SByte e Char). In alcuni casi, ad esempio nell'autocompletamente degli statement "Exit" (come Exit For, Exit Do, Exit Sub, eccetera...), indica lo statement stesso. Nell'autocompletamento di VB2008, indica anche ogni parola chiave Inoltre, sempre tramite le icone, è possibile inferire il livello di accesso di cui ogni membro è dotato. Infatti, l'icona di ognuna delle categorie sopra citate può essere modificata con l'aggiunta di un piccolo simbolo in basso a sinistra:
Il piccolo rombo azzurro indica che il membro è Friend
La piccola chiave gialla indica che il membro è Protected Il piccolo lucchetto grigio indica che il membro è Private
Se il membro è Public, non avrà nessun simbolo aggiuntivo. Invece, per i membri Protected Friend
si assume come simbolo lo stesso di quelli Protected. IntelliSense suggerisce i parametri di ogni metodo
Quando vi è stato suggerito di usare un metodo, non occorre che vi facciate dire anche quali devono essere i suoi parametri, poiché IntelliSense ve li suggerisce automaticamente, corredandoli, qualora sia possibile, di una descrizione. Ad esempio, questo codice: Dim B As New Bitmap()
restituirà un errore: "Overload resolution failed because no accessible New accepts this number of
arguments", ossia stiamo tentando di usare un costruttore senza parametri quando la classe in questione non
espone nessun New senza parametri. Perciò dobbiamo obbligatoriamente passare un qualche argomento
al costruttore, ma non sapiamo quale. Basta aprire la parentesi dopo Bitmap per vedere la lista di suggerimenti
fornita da IntelliSense:
IntelliSense permette di trovare classi e funzioni nuove
Una funzione meno canonica, ma sicuramente altrettanto utile, di IntelliSense sta nel fatto che, grazie
alla lista di suggerimenti forniti nella determinazione del tipo di una variabile, potete esplorare TUTTE
le classi ESISTENTI sul vostro computer (ovviamente quelle importante nell'applicazione corrente). Solo
guardandone il nome potete cercare di capire la loro funzione e, con qualche ricerca, trovare quello che
vi interessa. Ad esempio, girovaghiamo per System.Net... troviamo un interessante namespace NetworkInformation e
vi scorgiamo numerose classi che iniziano con "Ping": abbiamo trovato il luogo giusto per eseguire un ping
da codice. Provando a inizializzare un nuovo oggetto Net.NetworkInformation.Ping non si ottengono errori,
quindi se ne possono esplorare le funzioni. Salta subito all'occhio la funzione Send, grazie alla quale
possiamo ottenere molte informazioni utili sul viaggio dei nostri pacchetti in rete. Non c'era neanche bisogno
di cercare su Internet! IntelliSense è vostro amico
Quindi non fate a meno di usarlo e imparate a sfruttarne tutte le potenzialità, sempre e comunque!
C#, TypeScript, java, php, EcmaScript (JavaScript), Spring, Hibernate, React, SASS/LESS, jade, python, scikit, node.js, redux, postgres, keras, kubernetes, docker, hexo, etc...
|