다음을 통해 공유


C#의 필터링된 완성 목록

업데이트: 2007년 11월

IntelliSense는 필터를 사용하여 완성 목록에서 불필요한 멤버를 제거합니다.

Visual C#은 다음 항목에 대해 표시되는 완성 목록을 필터링합니다.

  • 인터페이스 및 기본 클래스

  • 특성

  • as 및 is 연산자

  • Catch 절

  • 개체 이니셜라이저

  • String 개체

  • 이벤트

인터페이스 및 기본 클래스

IntelliSense는 클래스 선언 기본 및 인터페이스 목록과 제약 조건 목록 모두에서 인터페이스 및 기본 클래스 완성 목록의 항목을 자동으로 제거합니다. 예를 들어, 열거형은 기본 클래스에 사용될 수 없으므로 기본 클래스의 완성 목록에는 열거형이 나타나지 않습니다. 기본 클래스의 완성 목록에는 인터페이스와 네임스페이스만 포함되어 있습니다. Visual C#에서 다중 상속을 지원하지 않으므로 목록에서 항목을 선택한 다음 쉼표를 입력하면 IntelliSense 완성 목록에서 기본 클래스가 제거됩니다. 제약 조건 절에 대해서도 동일한 동작이 수행됩니다.

특성

형식에 특성을 적용할 경우 완성 목록은 Attribute와 같이 해당 형식을 포함하는 네임스페이스에서 물려 받은 형식만 포함하도록 필터링됩니다.

as 및 is 연산자

as 연산자의 경우 IntelliSense 완성 목록은 as를 입력한 후 참조 형식만 나타나도록 필터링됩니다. 또한 as 또는 is 키워드를 입력했으면 스페이스바를 누를 때 완성 목록이 자동으로 표시됩니다.

Catch 절

catch의 경우 IntelliSense 완성 목록에는 관련 형식만 표시됩니다. 이러한 형식에는 Exception에서 파생된 형식, 중첩 형식을 포함하는 형식, Exception에서 파생되는 형식에 제약을 받는 형식 등이 있습니다.

개체 이니셜라이저

초기화할 수 있는 멤버만 완성 목록에 나타납니다. 예를 들어, 다음과 같습니다.

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

위 예제에서는 먼저 자동으로 구현된 두 개의 속성이 있는 Cust 클래스를 만듭니다. Name 속성을 초기화하면 완성 목록에 Name 및 Age만 나타납니다. 완성 목록에서 개체 초기화와 관련이 없는 항목은 필터링됩니다. 개체 이니셜라이저에 대한 자세한 내용은 개체 및 컬렉션 이니셜라이저(C# 프로그래밍 가이드)를 참조하십시오.

문자열 개체

String 개체를 사용하면 Visual C# 완성 목록에 IEnumerable 인터페이스의 확장 메서드가 표시되지 않습니다. 이는 자주 사용하는 형식의 복잡성을 줄이기 위한 것입니다.

이벤트

event(C# 참조) 키워드를 입력하면 완성 목록에 대리자 형식만 포함됩니다.

참고 항목

개념

C#의 완성 목록

C#의 미리 선택된 완성 목록 항목

기타 리소스

Visual C# IntelliSense