Поделиться через


CodeClass.IsAbstract - свойство

Задает или получает, заявлен ли элемент в качестве абстрактного, или получает информацию об этом.

Пространство имен:  EnvDTE
Сборка:  EnvDTE (в EnvDTE.dll)

Синтаксис

'Декларация
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)

Значение свойства

Тип: System.Boolean
Логическое значение, равное true, если элемент объявлен абстрактным, и false в противном случае.

Заметки

IsAbstract возвращает или задает сведения о том, является ли класс в настоящее время абстрактным (класс может не быть описан как абстрактный, но при этом быть абстрактным неявно), т. е. требуется ли подкласс, который добавлял бы реализации любых методов, отсутствующих в силу абстрактных методов. Для некоторых языков значение может быть всегда равно False.

Примечание

Значения элементов модели кода, таких как классы, структуры, функции, атрибуты, делегаты и другие, после внесения некоторых изменений могут оказаться недетерминированными, другими словами, нельзя рассчитывать, что их значения будут всегда оставаться одинаковыми.Дополнительные сведения см. в разделе "Значения элементов модели кода могут изменяться" раздела Практическое руководство. Поиск кода при помощи модели кода (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
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

См. также

Ссылки

CodeClass Интерфейс

EnvDTE - пространство имен

Другие ресурсы

Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации

Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)

Практическое руководство. Поиск кода при помощи модели кода (Visual C#)