Novità di Visual C# 2010

In questa pagina sono elencate le funzionalità nuove e migliorate disponibili in Visual C# 2010. Le nuove funzionalità offrono un miglioramento in termini di programmazione in Microsoft Office, maggiori possibilità di esplorare il codice, supporto per lo sviluppo basato su test e molto altro. Per ulteriori informazioni, vedere Principali caratteristiche di Visual Studio 2010.

Per ulteriori informazioni su una funzionalità, fare clic sui collegamenti nelle sezioni seguenti.

Linguaggio e compilatore C# 4.0

Supporto dinamico

Visual C# 2010 fornisce supporto per l'associazione tardiva ai tipi dinamici introducendo un nuovo tipo, dynamic. Questa nuova funzionalità consente di realizzare numerosi nuovi scenari, incluso l'accesso semplificato alle API COM, quali le API di automazione di Office, alle API dinamiche, quali le librerie IronPython, e al modello DOM (Document Object Model) HTML. Per ulteriori informazioni, vedere Utilizzo del tipo dinamico (Guida per programmatori C#) e dynamic (Riferimenti per C#).

Programmazione di Office

L'accesso alle interfacce COM, incluse le API di automazione di Office, è notevolmente migliorato grazie all'aggiunta di argomenti denominati e facoltativi, del tipo dynamic, di proprietà indicizzate e dei modificatori ref facoltativi.

Per ulteriori informazioni, vedere Argomenti denominati e facoltativi (Guida per programmatori C#), Utilizzo del tipo dinamico (Guida per programmatori C#), Procedura: utilizzare proprietà indicizzate nella programmazione dell'interoperabilità COM (Guida per programmatori C#) e Procedura: accedere agli oggetti di interoperabilità di Office utilizzando le funzionalità di Visual C# 2010 (Guida per programmatori C#).

Supporto dell'equivalenza dei tipi

È ora possibile implementare un'applicazione con informazioni sul tipo incorporate anziché importate da un assembly di interoperabilità primario (PIA, Primary Interop Assembly). Grazie alle informazioni sul tipo incorporate, un'applicazione può utilizzare tipi da un assembly senza che sia necessario un riferimento all'assembly di runtime o all'assembly di interoperabilità primario. Se vengono pubblicate diverse versioni dell'assembly di runtime, l'applicazione che contiene le informazioni sul tipo incorporate può funzionare con diverse versioni senza che sia necessaria la ricompilazione. Per ulteriori informazioni, vedere /link (opzioni del compilatore C#). Per un esempio, vedere Procedura dettagliata: incorporamento dei tipi da assembly gestiti (C# e Visual Basic).

Covarianza e controvarianza

La covarianza consente di utilizzare un tipo più derivato rispetto a quello specificato dal parametro generico, mentre la controvarianza consente di utilizzare un tipo meno derivato. Ciò consente la conversione implicita di classi che implementano interfacce di tipo Variant e offre maggiore flessibilità per la corrispondenza di firme di metodo con i tipi delegati Variant. Le interfacce e i delegati di tipo Variant possono essere creati utilizzando le nuove parole chiave del linguaggio in e out. In .NET Framework è stato inoltre introdotto il supporto della varianza per numerosi delegati e interfacce generici esistenti, tra cui l'interfaccia IEnumerable<T> e i delegati Func<TResult> e Action<T>. Per ulteriori informazioni, vedere Covarianza e controvarianza (C# e Visual Basic).

Nuove opzioni della riga di comando

L'opzione della riga di comando /langversion fa in modo che il compilatore accetti solo la sintassi valida nella versione specificata di C#.

L'opzione del compilatore /appconfig consente a un'applicazione C# di specificare il percorso del file di configurazione dell'applicazione di un assembly nel compilatore.

Ambiente di sviluppo integrato di Visual C#

Nelle sezioni seguenti vengono descritti i miglioramenti apportati all'ambiente di sviluppo integrato (IDE) di Visual Studio.

Gerarchia di chiamata

La gerarchia delle chiamate consente di esplorare il codice visualizzando gli elementi seguenti:

  • Tutte le chiamate a e da un metodo, una proprietà o un costruttore selezionato

  • Tutte le implementazioni di un membro di interfaccia

  • Tutti gli override di un membro virtuale o astratto

Questo consente di comprendere meglio il flusso del codice e di valutare gli effetti delle modifiche al codice. Per ulteriori informazioni, vedere Gerarchia delle chiamate.

Passa a

È possibile utilizzare la funzionalità Passa a per cercare un simbolo o un file nel codice sorgente. È possibile cercare parole chiave contenute in un simbolo utilizzando la convenzione Camel e caratteri di sottolineatura per dividere il simbolo in parole chiave.

Per ulteriori informazioni, vedere Procedura: cercare oggetti, definizioni e riferimenti (simboli).

Evidenziazione di riferimenti

Se si fa clic su un simbolo nel codice sorgente, tutte le istanze del simbolo vengono evidenziate nel documento. Per passare al simbolo evidenziato successivo o precedente, è possibile utilizzare la combinazione di tasti CTRL+MAIUSC+FRECCIA GIÙ o CTRL+MAIUSC+FRECCIA SU. Per ulteriori informazioni, vedere Procedura: utilizzare l'evidenziazione di riferimenti.

Generazione dall'utilizzo

La funzionalità di generazione dall'utilizzo consente di utilizzare classi e membri prima di definirli. Senza abbandonare la posizione corrente nel codice, è possibile generare uno stub per una classe, un costruttore, un metodo, una proprietà, un'enumerazione o un campo che si desidera utilizzare ma che non è ancora stato definito. In questo modo, è possibile ridurre al minimo le interruzioni del flusso di lavoro.

La funzionalità di generazione dall'utilizzo supporta stili di programmazione quale lo sviluppo con test preliminare. Per ulteriori informazioni, vedere Generazione dall'utilizzo e Procedura dettagliata: supporto test preliminare con la funzionalità di generazione dall'utilizzo.

Modalità di suggerimento di IntelliSense

In IntelliSense sono ora disponibili due alternative per il completamento di istruzioni in IntelliSense: la modalità di terminazione e la modalità di suggerimento. La modalità di suggerimento viene applicata quando si utilizzano classi e membri prima di definirli. Per ulteriori informazioni, vedere Elenca membri.

Live Semantic Errors

La funzionalità di visualizzazione degli errori di semantica in tempo reale è stata migliorata in Visual C# 2010. L'utilizzo di sottolineature ondulate per segnalare errori e avvisi durante la digitazione è stato esteso per includere costrutti esterni ai corpi del metodo, ad esempio tipi restituiti, tipi di parametro e valori predefiniti nelle dichiarazioni del metodo.

Applicazioni di esempio

Visual C# 2010 include applicazioni di esempio che illustrano l'utilizzo delle nuove funzionalità di C# per semplificare la programmazione di Office, fornire accesso alle librerie IronPython, creare oggetti dinamici, sviluppare e utilizzare delegati generici covarianti e controvarianti e altro ancora. Per informazioni su esempi di linguaggio Visual C# e sulle modalità di accesso, vedere Applicazioni di esempio di Visual C#.

Vedere anche

Riferimenti

What's New in the Visual Studio Debugger

Concetti

Novità di Visual Studio 2010

Novità dell'editor di Visual Studio 2010

Novità di .NET Framework versione 4

Novità di ASP.NET 4 e Visual Web Developer

Novità relative alla distribuzione