Condividi tramite


Generare stub dei metodi

Aggiornamento: novembre 2007

Genera stub metodo è una funzionalità di generazione automatica del codice IntelliSense che semplifica la creazione di una nuova dichiarazione di metodo in Visual Studio durante la scrittura di una chiamata al metodo. Visual Studio deduce la dichiarazione dalla chiamata.

In base ad alcuni stili di programmazione, come lo sviluppo basato su test, l'utilizzo deve precedere la definizione. In tal modo, è possibile stabilire più facilmente il formato dell'API che si sta sviluppando. È possibile utilizzare IntelliSense per programmare con questo stile. Mediante l'operazione Genera stub metodo è possibile evitare la definizione di ogni elemento prima del relativo utilizzo.

L'operazione Genera stub metodo di IntelliSense consente inoltre di incrementare la produttività poiché per generare un nuovo metodo non è necessario passare dal codice di chiamata, su cui si è attualmente concentrati, a codice di definizione separato. È invece possibile scrivere una chiamata di metodo e quindi richiamare l'operazione Genera stub di metodo senza spostare la propria attenzione.

Note

Chiamata mediane Smart tag

Uno smart tag indica la possibilità di richiamare l'operazione Genera stub metodo. Questo smart tag è disponibile soltanto quando il cursore si trova nella chiamata al metodo e diventa visibile quando Visual Studio non è in grado di individuare un metodo con lo stesso nome e numero di parametri di un metodo chiamato. Quando visibile, questo smart tag viene visualizzato sotto il primo carattere a sinistra dell'identificatore di metodo. Se il cursore viene spostato dalla chiamata al metodo, lo smart tag scompare.

È possibile richiamare il comando Genera stub metodo tramite un tasto di scelta rapida, dal menu IntelliSense e dal menu di scelta rapida nell'editor di codice. Per ulteriori informazioni, vedere Procedura: generare stub dei metodi.

Chiamata manuale

Il comando Genera stub metodo è sempre disponibile nel menu IntelliSense, indipendentemente dal contesto. Ciò consente overload che differiscono soltanto per il tipo, e non per il numero, di parametri. Ad esempio:

   class Program
   {
      static void Method(int a) { }

      static void Main()
      {
         Method("Call"); // No smart tag.
      }
   }

Nell'esempio di codice precedente, quando il cursore è posizionato nella chiamata a Method non verrà visualizzato uno smart tag. Se si richiama il comando Genera stub metodo dal menu IntelliSense, verrà generato un metodo statico denominato Method che accetta un parametro stringa.

Lo stub del metodo generato può essere di istanza o statico. Lo stub generato è statico se il metodo viene richiamato sul tipo. In caso contrario, è di istanza.

Nomi dei parametri

I nomi di ciascun parametro per lo stub del metodo generato sono derivati dai nomi degli argomenti passati nella chiamata di metodo. Ad esempio:

   class Program
   {
      static void Main()
      {
         string filename = @"file.txt";
         int wordCount = CountWords(filename);
      }
   }

Nell'esempio di codice precedente, Genera stub metodo genererà una firma del metodo che accetta un parametro di tipo String denominato filename.

Il codice generato mediante la funzionalità Genera stub di metodo viene modellato in base al frammento di codice definito nel file MethodStub.snippet. I frammenti di codice sono modificabili. Per ulteriori informazioni, vedere Procedura: gestire frammenti di codice.

Tipi ambigui

Genera metodo stub utilizza Object quando il tipo del parametro o il valore restituito non può essere derivato, come nel caso di tipi anonimi o variabili locali tipizzate in modo implicito (parola chiave var). Ad esempio:

   class Program
   {
      static void Main()
      {
         var filename = Method(); //Cannot infer the return type
      }
   }

Nell'esempio precedente, la chiamata di Genera stub metodo su Method() provoca uno stub del metodo che restituisce Object.

Vedere anche

Attività

Procedura: generare stub dei metodi

Altre risorse

Generazione automatica di codice