CodeClass.IsCodeType-Eigenschaft
Stellt fest, ob ein CodeType-Objekt aus diesem Objekt abgerufen werden kann.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Syntax
'Declaration
ReadOnly Property IsCodeType As Boolean
Get
bool IsCodeType { get; }
property bool IsCodeType {
bool get ();
}
abstract IsCodeType : bool
function get IsCodeType () : boolean
Eigenschaftswert
Typ: System.Boolean
Ein boolescher Wert, der true angibt, wenn ein CodeType-Objekt abgerufen werden kann. Andernfalls wird false zurückgegeben.
Hinweise
Gibt zurück, ob das Codeelement ein Codetyp ist. In diesem Fall können Sie eine Schnittstellenabfrage oder eine Umwandlung in ein CodeType-Objekt durchführen. Dies gilt, wenn Kind vsCMElementClass, vsCMElementInterface, vsCMElementDelegate, vsCMElementStruct oder vsCMElementEnum ist.
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
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-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
Weitere Ressourcen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell