다음을 통해 공유


CodeClass2.AddClass 메서드

지정된 코드 클래스에 새 클래스를 만듭니다.

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

구문

‘선언
Function AddClass ( _
    Name As String, _
    Position As Object, _
    Bases As Object, _
    ImplementedInterfaces As Object, _
    Access As vsCMAccess _
) As CodeClass
CodeClass AddClass(
    string Name,
    Object Position,
    Object Bases,
    Object ImplementedInterfaces,
    vsCMAccess Access
)
CodeClass^ AddClass(
    String^ Name, 
    Object^ Position, 
    Object^ Bases, 
    Object^ ImplementedInterfaces, 
    vsCMAccess Access
)
abstract AddClass : 
        Name:string * 
        Position:Object * 
        Bases:Object * 
        ImplementedInterfaces:Object * 
        Access:vsCMAccess -> CodeClass
function AddClass(
    Name : String, 
    Position : Object, 
    Bases : Object, 
    ImplementedInterfaces : Object, 
    Access : vsCMAccess
) : CodeClass

매개 변수

  • Name
    형식: String

    필수입니다. 클래스의 이름입니다.

  • Position
    형식: Object

    선택 사항 기본값은 0입니다. 이 코드 요소 뒤에 새 요소가 추가됩니다.

    값이 Long 데이터 형식이면 Position에서는 요소를 설정하여 이 요소 뒤에 새 요소를 추가합니다.

    컬렉션에서는 1부터 카운트를 시작하므로 0을 설정하면 새 요소가 컬렉션의 맨 처음에 놓이며, 값 -1을 설정하면 요소가 맨 끝에 놓입니다.

  • Bases
    형식: Object

    선택 사항 기본값은 0입니다. 새 클래스가 해당 구현을 상속하는 정규화된 형식 이름이나 CodeClass 개체의 SafeArray입니다.

  • ImplementedInterfaces
    형식: Object

    선택 사항 기본값은 0입니다. 새 클래스에서 구현할 인터페이스를 각각 나타내는 정규화된 형식 이름이나 CodeInterface 개체의 SafeArray입니다.

  • Access
    형식: vsCMAccess

    선택 사항 액세스 형식을 지정하는 vsCMAccess 상수입니다.

반환 값

형식: CodeClass
CodeClass 개체

설명

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

참고

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

예제

[C#]

public void CodeClass2AddClassExample(DTE2 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.
        TextSelection sel = 
        (TextSelection)dte2.ActiveDocument.Selection;
        CodeClass cls = (CodeClass)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementClass);

        object pos = -1;    // Place class at end of members collection
        object bas = null;     // Class does not inherit implementation
        object interf = null;  // Class does not implement an interface

        // Create a new member class.
        cls.AddClass("TestClass", pos, bas, interf, 
        vsCMAccess.vsCMAccessPublic);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework 보안

참고 항목

참조

CodeClass2 인터페이스

EnvDTE80 네임스페이스

기타 리소스

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

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

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