Freigeben über


CodeClass.IsAbstract-Eigenschaft

Legt fest oder ruft ab, ob ein Element als abstrakt deklariert ist.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Syntax

'Declaration
Property IsAbstract As Boolean
    Get
    Set
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)

Eigenschaftswert

Typ: System.Boolean
Ein boolescher Wert, der true lautet, wenn das Element als abstrakt deklariert ist, und andernfalls false.

Hinweise

IsAbstract gibt zurück oder legt fest, ob die Klasse derzeit als abstrakt gilt (die Klasse muss nicht unbedingt als abstrakt deklariert sein, kann aber implizit abstrakt sein) oder fordert eine Unterklasse zur Ergänzung aller Methodenimplementierungen an, die aufgrund abstrakter Methoden fehlen. Bei einigen Programmiersprachen kann dies immer False sein.

Tipp

Die Werte von Codemodellelementen wie Klassen, Strukturen, Funktionen, Attributen, Delegaten usw. können nach bestimmten Bearbeitungsvorgängen nicht deterministisch sein, d. h., dass nicht mehr davon ausgegangen werden kann, dass ihre Werte immer unverändert bleiben. Weitere Informationen finden Sie im Abschnitt zum Änderungsverhalten von Codemodellelementwerten unter Ermitteln von Code über das Codemodell (Visual Basic).

Beispiele

 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
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-Sicherheit

Siehe auch

Referenz

CodeClass Schnittstelle

EnvDTE-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell

Ermitteln von Code über das Codemodell (Visual Basic)

Ermitteln von Code über das Codemodell (Visual C#)