다음을 통해 공유


CodeClass2.Collection 속성

코드 클래스 안에 포함된 컬렉션을 가져옵니다.

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

구문

‘선언
ReadOnly Property Collection As CodeElements
CodeElements Collection { get; }
property CodeElements^ Collection {
    CodeElements^ get ();
}
abstract Collection : CodeElements
function get Collection () : CodeElements

속성 값

형식: EnvDTE.CodeElements
CodeClass 개체의 컬렉션입니다.

설명

[!참고]

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

예제

[Visual Basic]

Sub CollectionExample(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)
        Dim elem As CodeElement
        Dim peers As String

        ' List all peer elements of the CodeClass.
        For Each elem In cls.Collection
            If Not (elem Is cls) And Not IsNothing(elem.Name) Then
                peers &= elem.Name & " (" & elem.Kind.ToString() & _
                    ")" & vbCrLf
            End If
        Next

        MsgBox(cls.Name & " has the following peer elements:" & _
            vbCrLf & vbCrLf & peers)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub

[C#]

public void CollectionExample(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);
        string peers = "";

        // List all peer elements of the CodeClass.
        foreach (CodeElement elem in cls.Collection)
        {
            if ((elem != cls) && (elem.Name != null))
                peers += elem.Name + " (" + elem.Kind.ToString() 
                    + ")\n";
        }

        MessageBox.Show(cls.Name + 
            " has the following peer elements:\n\n" + peers);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework 보안

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

참고 항목

참조

CodeClass2 인터페이스

Collection 오버로드

EnvDTE80 네임스페이스

기타 리소스

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

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

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