Frammenti di codice e come usarli

I frammenti di codice sono piccoli blocchi di codice riutilizzabili che è possibile aggiungere a un file di codice. I frammenti di codice in genere contengono blocchi di codice usati spesso, ad Try...Finally esempio o If...Else blocchi. È anche possibile usare frammenti di codice per aggiungere intere classi o metodi.

Un frammento di codice ha un titolo usato per selezionare il frammento di codice e può avere un nome di collegamento che è possibile digitare per inserire il frammento. I frammenti di codice possono anche contenere parametri di sostituzione, che fungono da segnaposto. I frammenti di codice sono disponibili per molti linguaggi, tra cui C#, C++e Visual Basic.

Frammenti di espansione e frammenti Racchiudi tra

È possibile aggiungere due tipi di frammenti di codice al codice:

  • Un frammento di espansione viene aggiunto in corrispondenza di un punto di inserimento specificato.
  • Un frammento di codice racchiuso viene aggiunto intorno al codice selezionato ed è disponibile solo per C# e C++.

Trovare frammenti di codice disponibili

Per visualizzare i frammenti di codice disponibili per una lingua, selezionare Strumenti>Gestione frammenti di codice dalla barra dei menu oppure premere CTRL+K, B e quindi selezionare la lingua desiderata dal menu a discesa.

Screenshot della finestra di dialogo Gestione frammenti di codice.

Per creare e importare un frammento personalizzato in modo che venga visualizzato nell'elenco dei frammenti di codice, vedere Procedura dettagliata: Creare un frammento di codice in Visual Studio.

Aggiungere un frammento di codice a un file di codice

Per aggiungere un frammento di codice a un file di codice:

  1. Nell'editor di codice posizionare il cursore o selezionare codice C# o C++ in cui si vuole aggiungere il frammento.

  2. Effettua una delle seguenti azioni:

    • Sulla barra dei menu di Visual Studio scegliere Modifica>intelliSense>Inserisci frammento di codice o Modifica>IntelliSense>Racchiudi con.
    • Fare clic con il pulsante destro del mouse e scegliere Snippet Insert Snippet (Inserisci frammento di frammento>) o Snippet Surround With (Racchiudi frammento di codice>) dal menu di scelta rapida.
    • Dalla tastiera premere CTRL+K, X per un frammento di espansione o CTRL+K, S per un frammento di codice surround-with.
  3. Fare doppio clic sul frammento desiderato nell'elenco a discesa oppure digitare il collegamento al frammento di codice e premere TAB o INVIO.

Aggiungere un frammento di espansione

Ad esempio, il frammento di tryf espansione C# aggiunge il blocco seguente Try...Finally :

try
{

}
finally
{

}

Per aggiungere questo frammento di espansione:

  1. Nell'editor di codice posizionare il cursore in cui si vuole aggiungere il frammento di codice.
  2. Fare clic con il pulsante destro del mouse e scegliere Inserisci frammento dal menu di scelta rapida del clic con il pulsante destro del mouse oppure usare i comandi della barra dei menu o della tastiera.
  3. Aprire la cartella Visual C# e quindi fare doppio clic su tryf nell'elenco a discesa oppure selezionare tryf e premere TAB o INVIO.

Suggerimento

È anche possibile posizionare il cursore nel punto di inserimento, digitare tryf e quindi premere TAB due volte.

Aggiungere un frammento di codice surround-with

Nell'esempio seguente di un frammento di codice C++ il collegamento if può essere usato come frammento di inserimento o come frammento di codice di inclusione. Se si seleziona la riga return FALSE; di codice e quindi si sceglie Racchiudi con>se, il frammento viene espanso intorno alla riga.

if (true)
{
    return FALSE;
}

Parametri di sostituzione del frammento

I frammenti di codice possono contenere parametri di sostituzione, ovvero segnaposto che è necessario sostituire per adattarsi al codice che si sta scrivendo. Nell'esempio precedente, true è un parametro di sostituzione che viene sostituito con la condizione appropriata. La sostituzione viene ripetuta per ogni istanza del parametro di sostituzione nel frammento di codice.

Ad esempio, Visual Basic include un frammento di codice che definisce una proprietà. Per inserire il frammento di codice:

  1. Nel menu di scelta rapida del pulsante destro del mouse in un file di codice visual Basic selezionare Frammento di codice Inserisci frammento>.
  2. Selezionare Proprietà modelli di>codice, routine, eventi>definiscono una proprietà.

Screenshot del menu del frammento di codice per Definire una proprietà.

Viene inserito il codice seguente:

Private newPropertyValue As String
Public Property NewProperty() As String
    Get
        Return newPropertyValue
    End Get
    Set(ByVal value As String)
        newPropertyValue = value
    End Set
End Property

Se si passa newPropertyValue a m_property, ogni istanza di newPropertyValue cambia. Se si passa String a Int nella dichiarazione di proprietà, anche il Set valore nel metodo viene modificato in Int.

Procedure consigliate per l'uso dei frammenti di codice

Il codice in un frammento illustra solo il modo più semplice per eseguire un'operazione. Per la maggior parte delle applicazioni, il codice deve essere modificato per essere adattato all'applicazione.

Gestione delle eccezioni

In genere, i blocchi dei frammenti di Try...Catch codice intercettano e rigenerano tutte le eccezioni, ma questa potrebbe non essere la scelta giusta per il progetto. Per ogni eccezione, esistono infatti modi diversi di rispondere. Per esempi, vedere Come gestire un'eccezione usando try/catch (C#) e Try... Prendere... Istruzione Finally (Visual Basic).

Percorsi di file

Quando si adattano i percorsi dei file all'applicazione, assicurarsi di prendere in considerazione i fattori seguenti.

  • Trovare una posizione accessibile. Gli utenti potrebbero non avere accesso alla cartella Programmi del computer, quindi l'archiviazione dei file utente con i file dell'applicazione potrebbe non funzionare.

  • Trovare una posizione sicura. L'archiviazione di file nella cartella radice come C:\ non è sicura. Per i dati dell'applicazione, è consigliabile usare la cartella Dati applicazione. Per i singoli dati utente, l'applicazione può creare un file nella cartella Documenti di ogni utente.

  • Usare un nome di file valido. È possibile usare i controlli OpenFileDialog e SaveFileDialog per ridurre la probabilità di nomi di file non validi.

  • Tenere presente che è possibile eliminare un file selezionato dall'utente prima che il codice possa modificare il file. Inoltre, un utente potrebbe non avere l'autorizzazione per scrivere nel file.

Sicurezza

La sicurezza di un frammento di codice dipende dalla posizione in cui viene usata nel codice sorgente e da come modificarla una volta nel codice. L'elenco seguente contiene alcune aree da considerare:

  • Accesso a file e database
  • Sicurezza dall'accesso di codice
  • Protezione di risorse come i registri eventi e il Registro di sistema
  • Archiviazione dei segreti
  • Verifica degli input
  • Passaggio dei dati a tecnologie script

Per altre informazioni, vedere Proteggere le applicazioni.

Frammenti di codice scaricati

I frammenti di codice installati da Visual Studio non sono pericoli per la sicurezza. Possono tuttavia mettere a rischio la sicurezza dell'applicazione. I frammenti scaricati da Internet devono essere trattati con estrema cautela, come qualsiasi altro contenuto scaricato. È consigliabile scaricare i frammenti di codice solo da siti attendibili e usare un software antivirus aggiornato.

Aprire tutti i file di frammenti scaricati in Blocco note o nell'editor XML di Visual Studio e analizzarli con attenzione prima di installarli. Tenere presente i problemi seguenti:

  • Codice di frammento che potrebbe danneggiare il sistema se lo si esegue. Leggere attentamente il codice sorgente prima di eseguirlo.

  • HelpURL blocchi in file di frammento contenenti URL che eseguono file di script dannosi o visualizzano siti Web offensivi.

  • Frammenti contenenti riferimenti aggiunti automaticamente al progetto e che possono essere caricati da qualsiasi punto del sistema. È possibile scaricare questi riferimenti dalla stessa posizione da cui si scarica un frammento di codice. Il frammento di codice può quindi chiamare un metodo nel riferimento che esegue codice dannoso. Per rilevare tali riferimenti, esaminare i Imports blocchi e References del file di frammento di codice.