Compartir a través de


Listas de finalización filtradas en C#

Actualización: noviembre 2007

IntelliSense quita los miembros innecesarios de la lista de finalización utilizando filtros.

Visual C# filtra las listas de finalización que aparecen para estos elementos:

  • Interfaces y clases base.

  • Atributos.

  • Operadores as y is.

  • Cláusulas catch.

  • Inicializadores de objeto

  • Objetos String.

  • Eventos

Interfaces y clases base

IntelliSense quita automáticamente los elementos de las listas de finalización de las interfaces y las clases base, tanto en la base de declaración de clases como en las listas de interfaces y de restricciones. Por ejemplo, las enumeraciones no aparecen en la lista de finalización de las clases base porque no se pueden utilizar para las clases base. La lista de finalización de las clases base sólo contiene interfaces y espacios de nombres. Si selecciona un elemento en la lista y, a continuación, escribe una coma, IntelliSense quita las clases base de la lista de finalización porque Visual C# no admite la herencia múltiple. El mismo comportamiento también aparece para las cláusulas de restricción.

Atributos

Cuando se aplica un atributo a un tipo, la lista de finalización se filtra de modo que contenga únicamente los tipos que descienden de los espacios de nombre que los contienen, como Attribute.

Operadores as e is

Para el operador as, las listas de finalización de IntelliSense se filtran de modo que únicamente aparecen los tipos de referencia después de escribir as. Además, se muestra una lista de finalización automáticamente cuando presiona la BARRA ESPACIADORA después de haber escrito as o la palabra clave is.

Cláusulas catch

Para la cláusula catch, la lista de finalización de IntelliSense sólo muestra los tipos pertinentes. Estos tipos son los derivados de Exception, los que incluyen tipos anidados, y los que se están restringidos a tipos derivados de Exception.

Inicializadores de objeto

Sólo los miembros que se pueden inicializar aparecerán en la lista de finalización. Por ejemplo:

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
        };
    }
}

El ejemplo anterior crea primero una clase Cust con dos propiedades implementadas automáticamente. Cuando inicializamos la propiedad Name, sólo Name y Age aparecen en la lista de finalización. La lista de finalización filtra las entradas que no son pertinentes para inicializar el objeto. Para obtener información sobre los inicializadores de objeto, vea Inicializadores de objeto y de colección (Guía de programación de C#)

String (Objetos)

Al utilizar los objetos String, la lista de finalización de Visual C# no muestra los métodos de extensión desde las interfaces IEnumerable. Esto se realiza para ocultar la complejidad en un tipo utilizado con frecuencia.

Eventos

Cuando escribe la palabra clave event (Referencia de C#), la lista de finalización sólo contiene tipos de delegado.

Vea también

Conceptos

Listas de finalización en C#

Elementos de la lista de finalización preseleccionada en C#

Otros recursos

IntelliSense para Visual C#