다음을 통해 공유


CodeClass2.IsAbstract 속성

코드 클래스가 추상 클래스로 선언되었는지 여부를 설정하거나 가져옵니다.

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

구문

‘선언
Property IsAbstract As Boolean
bool IsAbstract { get; set; }
property bool IsAbstract {
    bool get ();
    void set (bool value);
}
abstract IsAbstract : bool with get, set
function get IsAbstract () : boolean 
function set IsAbstract (value : boolean)

속성 값

형식: Boolean
코드 클래스가 추상으로 선언되면 부울 값이 true이고, 그렇지 않으면 false입니다.

설명

IsAbstract 속성은 현재 클래스를 추상으로 나타낼지 여부나 추상 메서드로 인해 누락된 메서드 구현을 추가하는 서브클래스가 이 클래스에 필요한지 여부를 반환하거나 설정합니다. 일부 언어에서는 이 값이 항상 false일 수 있습니다.

참고

클래스가 추상으로 선언되지 않아도 암시적으로는 추상일 수 있습니다.

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

예제

[Visual Basic]

Sub IsAbstractExample(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)

        ' Display whether the class is abstract.
        If cls.IsAbstract Then
            MsgBox(cls.Name & " is an abstract class.")
        Else
            MsgBox(cls.Name & " is not an abstract class.")
        End If
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

[C#]

public void IsAbstractExample(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);

        // Display whether the class is abstract.
        if (cls.IsAbstract)
            MessageBox.Show(cls.Name + " is an abstract class.");
        else
            MessageBox.Show(cls.Name + " is not an abstract class.");
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework 보안

참고 항목

참조

CodeClass2 인터페이스

EnvDTE80 네임스페이스

기타 리소스

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

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

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