다음을 통해 공유


메서드 스텁 생성

업데이트: 2007년 11월

메서드 스텁 생성은 사용자가 메서드 호출을 작성하고 있을 때 Visual Studio를 통해 간편하게 새 메서드 선언을 만들 수 있는 IntelliSense의 자동 코드 생성 기능입니다. Visual Studio는 해당 호출에서 선언을 유추합니다.

테스트 중심 개발과 같은 일부 프로그래밍 스타일에서는 정의하기 전에 사용할 것을 제안합니다. 이 방법을 사용하면 개발하려는 API의 형식을 쉽게 확인할 수 있습니다. IntelliSense를 사용하여 해당 스타일로 프로그래밍할 수 있습니다. 메서드 스텁 생성 작업을 수행하면 사용하기 전에 모든 것을 정의하지 않아도 됩니다.

메서드 스텁 생성이라는 IntelliSense 기능을 사용하면 새 메서드를 생성하기 위해 호출하는 코드(현재 포커스)에서 정의하는 코드(별도의 포커스)로 이동할 필요가 없으므로 생산성이 향상될 수 있습니다. 대신 메서드 호출을 작성한 다음 주의를 분산시키지 않고 메서드 스텁 생성 작업을 호출할 수 있습니다.

설명

스마트 태그를 통한 호출

스마트 태그는 메서드 스텁 생성 작업을 호출할 수 있음을 나타냅니다. 이 스마트 태그는 커서가 메서드 호출에 있는 경우에만 사용할 수 있으며, 호출되는 메서드와 이름 및 매개 변수 개수가 같은 메서드를 Visual Studio가 찾을 수 없는 경우 표시될 수 있습니다. 이 스마트 태그가 표시될 수 있으면 메서드 식별자의 맨 왼쪽 문자 아래 표시됩니다. 커서를 메서드 호출 밖으로 이동하면 이 스마트 태그가 사라집니다.

바로 가기 키, IntelliSense 메뉴 및 코드 편집기의 바로 가기 메뉴를 통해 메서드 스텁 생성 명령을 호출할 수 있습니다. 자세한 내용은 방법: 메서드 스텁 생성을 참조하십시오.

수동 호출

메서드 스텁 생성 명령은 모든 컨텍스트의 IntelliSense 메뉴에서 항상 사용할 수 있습니다. 따라서 매개 변수 형식만 다르고 매개 변수 개수는 같도록 재정의할 수 있습니다. 예를 들어, 다음과 같습니다.

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

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

앞의 예제 코드에서 스마트 태그는 커서가 Method에 대한 호출에 있을 때 사용할 수 있습니다. 하지만 IntelliSense 메뉴에서 메서드 스텁 생성 명령을 호출하면 IntelliSense는 문자열 매개 변수를 사용하는 Method라는 정적 메서드를 생성합니다.

생성되는 메서드 스텁은 인스턴스이거나 정적일 수 있습니다. 메서드가 형식으로 호출되면 정적 스텁이 생성되고, 그렇지 않으면 인스턴스 스텁이 생성됩니다.

매개 변수 이름

생성되는 메서드 스텁에서 각 매개 변수의 이름은 메서드 호출로 전달되는 인수 이름으로부터 파생됩니다. 예를 들어, 다음과 같습니다.

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

앞의 예제 코드에서 메서드 스텁 생성은 filename이라는 문자열 형식 매개 변수를 사용하는 메서드 시그니처를 생성합니다.

메서드 스텁 생성 기능에서 생성되는 코드는 MethodStub.snippet 파일에 정의된 코드 조각을 모델로 하여 만들어집니다. 코드 조각은 수정될 수 있습니다. 자세한 내용은 방법: 코드 조각 관리를 참조하십시오.

모호한 형식

익명 형식 또는 암시적으로 형식화된 지역 변수(키워드 var) 같이 매개 변수 또는 반환 값의 형식을 유추할 수 없을 경우 메서드 스텁 생성에서는 Object를 사용합니다. 예를 들어, 다음과 같습니다.

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

앞의 예제에서 Method()에 대해 메서드 스텁 생성을 호출하면 Object를 반환하는 메서드 스텁이 생성됩니다.

참고 항목

작업

방법: 메서드 스텁 생성

기타 리소스

자동 코드 생성