Casino online











Mercato forex






E2. Guida all'uso di 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

Assicuratevi che le voci "Auto list members" e "Parameter information" siano spuntate, quindi premete OK.
Ora, ogniqualvolta dovrete scegliere un tipo, accedere ai membri di una classe, passare parametri ad un metodo e molto altro, IntelliSense vi darà suggerimenti mostrando una lista di tutte le possibili scelte che potete fare (fornendo anche una descrizione di ogni possibilità). Alcuni esempi:


Scelta del tipo di una variabile



Accesso ai membri di un oggetto



Passaggio di parametri a un metodo





Assegnazione di valori a un enumeratore

Ora che avete visto le potenzialità di IntelliSense spero che inizierete ad utilizzarlo, o almeno, proseguiate nella lettura.


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:


Tutti gli overload

come si vede ci sono ben 12 overload, ossia 12 versioni dello stesso metodo e ognuna di questa ha una sua descrizione. Alla fine, sicuramente troveremmo quello che stiamo cercando, ad esempio l'overload 12, che è quello più semplice e che ci consente di inizializzare una nuova bitmap con date dimensioni, oppure il 5, con un solo parametro di tipo stringa che contiene il nome del file. Insomma, tutto quello che è documentato su msdn lo potete trovare anche usando l'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!



 

The Totem's Lair - Copyright (C) 2009
È vietata la riproduzione sia totale che parziale del sito.