Condividi tramite


Elenchi di completamento filtrati in C#

Aggiornamento: novembre 2007

I membri non necessari vengono rimossi dall'elenco di completamento IntelliSense mediante l'utilizzo di filtri.

In Visual C# vengono filtrati gli elenchi di completamento disponibili per gli elementi riportati di seguito:

  • Interfacce e classi base.

  • Attributi.

  • Operatori as e is.

  • Clausole catch.

  • Inizializzatori di oggetti

  • Oggetti String.

  • Eventi

Interfacce e classi base

Vengono rimossi gli elementi dagli elenchi di completamento IntelliSense per interfacce e classi base, sia negli elenchi di interfacce e di dichiarazioni di classe base sia negli elenchi di vincoli. Le enumerazioni, ad esempio, non vengono visualizzate nell'elenco di completamento delle classi base perché non possono essere utilizzate per tali classi. L'elenco di completamento delle classi base contiene solo interfacce e spazi dei nomi. Se si seleziona un elemento nell'elenco e si digita una virgola, IntelliSense rimuove le classi di base dall'elenco di completamento poiché Visual C# non supporta l'ereditarietà multipla. Lo stesso comportamento si verifica anche per le clausole di vincoli.

Attributi

Quando si applica un attributo a un tipo, l'elenco di completamento viene filtrato in modo da contenere solo quei tipi che discendono dagli spazi dei nomi contenenti tali tipi, ad esempio Attribute.

Operatori as e is

Per l'operatore as, gli elenchi di completamento IntelliSense vengono filtrati in modo da contenere solo tipi di riferimento quando si digita as. Inoltre, viene visualizzato automaticamente un elenco di completamento quando si preme la barra spaziatrice dopo aver digitato la parola chiave as o is.

Clausole catch

Per catch, nell'elenco di completamento IntelliSense vengono visualizzati solo i tipi rilevanti. Tra questi tipi sono inclusi quelli derivati da Exception, i tipi che includono tipi nidificati e i tipi che sono vincolati a tipi che derivano da Exception.

Inizializzatori di oggetti

Solo membri che possono essere inizializzati verranno visualizzati nell'elenco di completamento. Ad esempio:

class Cust
{
    public string Name { get; set; }
    public int Age { get; set; }
}
class MyApp
{
    static void Main()
    {
        var customer = new Cust()
        {
            //Name and Age appear in completion list
            Name = "Sally",
            //Only Age appears in completion list
            Age = 30
        };
    }
}

Nell'esempio precedente viene creata innanzitutto una classe Cust con due proprietà implementate automaticamente. Quando si inizializza la proprietà Name, solo Name e Age vengono visualizzati nell'elenco di completamento. L'elenco di completamento esclude le voci non attinenti all'inizializzazione dell'oggetto. Per ulteriori informazioni sugli inizializzatori di oggetti, vedere Inizializzatori di oggetto e di insieme (Guida per programmatori C#).

Oggetti String

Quando si utilizzano oggetti String, nell'elenco di completamento di Visual C# non vengono visualizzati i metodi di estensione dalle interfacce IEnumerable per nascondere la complessità di un tipo frequentemente utilizzato.

Eventi

Quando si digita la parola chiave event (Riferimenti per C#), l'elenco di completamento contiene solo tipi delegati.

Vedere anche

Concetti

Elenchi di completamento in C#

Elementi dell'elenco di completamento preselezionati in C#

Altre risorse

IntelliSense per Visual C#