다음을 통해 공유


CodeClass.AddFunction 메서드

새 함수 코드 구문을 만든 다음 올바른 위치에 코드를 삽입합니다.

네임스페이스:  EnvDTE
어셈블리:  EnvDTE(EnvDTE.dll)

구문

‘선언
Function AddFunction ( _
    Name As String, _
    Kind As vsCMFunction, _
    Type As Object, _
    Position As Object, _
    Access As vsCMAccess, _
    Location As Object _
) As CodeFunction
CodeFunction AddFunction(
    string Name,
    vsCMFunction Kind,
    Object Type,
    Object Position,
    vsCMAccess Access,
    Object Location
)
CodeFunction^ AddFunction(
    String^ Name, 
    vsCMFunction Kind, 
    Object^ Type, 
    Object^ Position, 
    vsCMAccess Access, 
    Object^ Location
)
abstract AddFunction : 
        Name:string * 
        Kind:vsCMFunction * 
        Type:Object * 
        Position:Object * 
        Access:vsCMAccess * 
        Location:Object -> CodeFunction 
function AddFunction(
    Name : String, 
    Kind : vsCMFunction, 
    Type : Object, 
    Position : Object, 
    Access : vsCMAccess, 
    Location : Object
) : CodeFunction

매개 변수

  • Name
    형식: System.String
    필수적 요소로서,새 함수의 이름입니다.
  • Kind
    형식: EnvDTE.vsCMFunction
    필수적 요소로서,property get, 메서드 등과 같은 함수의 형식을 나타내는 vsCMFunction 상수입니다.
  • Type
    형식: System.Object
    필수적 요소로서,함수가 반환하는 데이터 형식을 나타내는 vsCMTypeRef 상수입니다.이 값은 CodeTypeRef 개체, vsCMTypeRef 상수 또는 정규화된 형식 이름이 될 수 있습니다.
  • Position
    형식: System.Object
    선택적 요소로서,기본값은 0입니다.이 코드 요소 뒤에 새 요소가 추가됩니다.값이 CodeElement이면 바로 뒤에 새 요소가 추가됩니다.
    값이 Long 형식이면 AddFunction에서는 요소를 설정하여 이 요소 뒤에 새 요소를 추가합니다.
    컬렉션에서는 1부터 카운트를 시작하므로 0을 설정하면 새 요소가 컬렉션의 맨 처음에 놓이며,값 -1을 설정하면 요소가 맨 끝에 놓입니다.
  • Location
    형식: System.Object
    선택적 요소로서,위치를 나타냅니다.

반환 값

형식: EnvDTE.CodeFunction
CodeFunction 개체입니다.

설명

Visual C++에서는 정규화된 형식 이름에 콜론으로 구분된 형식(::)을 사용해야 합니다. 다른 모든 언어에서는 마침표로 구분된 형식을 지원합니다.

인수가 올바른지 여부는 코드 모델에 사용되는 언어에 의해 결정됩니다.

참고

클래스, 구조체, 함수, 특성, 대리자 등의 코드 모델 요소를 특정한 방식으로 편집한 후에는 요소의 값이 명확하지 않을 수 있습니다. 즉, 요소의 값이 항상 같다고 할 수 없습니다. 자세한 내용은 코드 모델을 사용하여 코드 검색(Visual Basic)의 "코드 모델 요소 값이 변경될 수 있음" 단원을 참조하십시오.

예제

 Sub AddFunctionExample2(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project
    ' and place the insertion point inside a class definition.
    Try
        ' Retrieve the CodeClass at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim cls As CodeClass = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementClass), CodeClass)

        ' Create a new member function.
        cls.AddFunction("TestFunction", _
            vsCMFunction.vsCMFunctionFunction, _
            vsCMTypeRef.vsCMTypeRefInt)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void AddFunctionExample2(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a class definition.
    try
    {
        // Retrieve the CodeClass at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeClass cls = 
            (CodeClass)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementClass);

        // Create a new member function.
        cls.AddFunction("TestFunction", 
            vsCMFunction.vsCMFunctionFunction, 
            vsCMTypeRef.vsCMTypeRefInt, -1, 
            vsCMAccess.vsCMAccessDefault, null);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

CodeClass 인터페이스

EnvDTE 네임스페이스

기타 리소스

방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행

코드 모델을 사용하여 코드 검색(Visual Basic)

코드 모델을 사용하여 코드 검색(Visual C#)