CodeClass2.IsAbstract Property

Definition

Sets or gets whether or not the code class is declared as abstract.

public:
 property bool IsAbstract { bool get(); void set(bool value); };
public:
 property bool IsAbstract { bool get(); void set(bool value); };
[System.Runtime.InteropServices.DispId(62)]
public bool IsAbstract { [System.Runtime.InteropServices.DispId(62)] get; [System.Runtime.InteropServices.DispId(62)] set; }
[<System.Runtime.InteropServices.DispId(62)>]
[<get: System.Runtime.InteropServices.DispId(62)>]
[<set: System.Runtime.InteropServices.DispId(62)>]
member this.IsAbstract : bool with get, set
Public Property IsAbstract As Boolean

Property Value

A boolean value that is true if the code class is declared as abstract; false otherwise.

Implements

Attributes

Examples

[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);  
    }  
}  

Remarks

The IsAbstract property returns or sets whether the class currently appears to be abstract or whether the class requires a subclass that adds method implementations that are missing due to abstract methods. For some languages this may always be false.

Note

A class may not be declared abstract, but it may be implicitly abstract.

Also, the values of code model elements such as classes, structs, functions, attributes, delegates, and so forth can be non-deterministic after making certain kinds of edits, meaning that their values cannot be relied upon to always remain the same. For more information, see the section Code Model Element Values Can Change in Discovering Code by Using the Code Model (Visual Basic).

Applies to