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


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

Возвращает значение, указывающее, может ли объект CodeType быть получен от данного объекта.

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

Синтаксис

'Декларация
ReadOnly Property IsCodeType As Boolean
    Get
bool IsCodeType { get; }
property bool IsCodeType {
    bool get ();
}
abstract IsCodeType : bool
function get IsCodeType () : boolean

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

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

Заметки

Возвращает значение, указывающее, является ли элемент кода типом кода. Если это так, можно запросить интерфейс или привести его к объектному типу CodeType. Это так, когда Kind равно vsCMElementClass, vsCMElementInterface, vsCMElementDelegate, vsCMElementStruct или vsCMElementEnum.

Примечание

Значения элементов модели кода, таких как классы, структуры, функции, атрибуты, делегаты и т.п., после внесения некоторых изменений могут стать недетерминированными, иными словами, нельзя рассчитывать, что их значения не будут изменяться.Дополнительные сведения см. в разделе "Значения элементов модели кода могут изменяться" раздела Практическое руководство. Поиск кода при помощи модели кода (Visual Basic).

Примеры

Public Sub CodeClassExample(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
        Dim objTextSel As TextSelection
        Dim objCodeCls As CodeClass
        Dim objCodeType As CodeType
        Dim objCMElem As vsCMElement
        objTextSel = CType(dte.ActiveDocument.Selection, TextSelection)
        objCodeCls = CType(objTextSel.ActivePoint.CodeElement(vsCMElement.vsCMElementClass), CodeClass)
        ' Add DocComment to CodeClass objCodeClass.
        objCodeCls.DocComment = "<DOC>DocComment for the CodeClass object</DOC>"
        MessageBox.Show(objCodeCls.DocComment)
        ' Test if a CodeType object is obtainable from the CodeClass
        If objCodeCls.IsCodeType Then
            ' then we can cast the CodeClass to a CodeType.
            objCodeType = CType(objCodeCls, CodeType)
        Else
            ' The CodeClass object is not a CodeType but is
            ' some Kind of element.
            objCMElem = objCodeCls.Kind
        End If
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub
public void CodeClassExample(DTE2 dte)
{ 
   // Before running this example, open a code document from a
   // project and place the insertion point inside a class definition
   try
   {
      TextSelection objTextSel;
      CodeClass objCodeCls;
      CodeType objCodeType;
      vsCMElement objCMElem;
      objTextSel = (TextSelection)dte.ActiveDocument.Selection;
      objCodeCls = (CodeClass)objTextSel.ActivePoint.get_CodeElement(vsCMElement.vsCMElementClass);
      // Add DocComment to CodeClass objCodeClass.
      objCodeCls.DocComment = "<DOC>DocComment for the CodeClass object</DOC>";
      MessageBox.Show(objCodeCls.DocComment);
      // Test if a CodeType object is obtainable from the CodeClass
      if (objCodeCls.IsCodeType)
      { // then we can cast the CodeClass to a CodeType.
         objCodeType = (CodeType)objCodeCls;
      }
      else // The CodeClass object is not a CodeType but is
      {    // some Kind of element.
         objCMElem = objCodeCls.Kind;
      }
   }
   catch (Exception ex)
   { 
      MessageBox.Show(ex.Message);
   }
}

Безопасность платформы .NET Framework

См. также

Ссылки

CodeClass Интерфейс

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

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

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

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

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