CodeModel2.CodeTypeFromFullName-Methode (String)
Aktualisiert: November 2007
Gibt ein Codeelement zurück, das auf einem voll gekennzeichneten Namen basiert.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
Function CodeTypeFromFullName ( _
Name As String _
) As CodeType
'Usage
Dim instance As CodeModel2
Dim Name As String
Dim returnValue As CodeType
returnValue = instance.CodeTypeFromFullName(Name)
CodeType CodeTypeFromFullName(
string Name
)
CodeType^ CodeTypeFromFullName(
String^ Name
)
function CodeTypeFromFullName(
Name : String
) : CodeType
Parameter
Name
Typ: System.StringErforderlich. Ein vollqualifizierter Symbolname, z. B. Namespace1.Namespace2.Class1.Member1.
Rückgabewert
Typ: EnvDTE.CodeType
Ein CodeType-Objekt.
Implementiert
CodeModel.CodeTypeFromFullName(String)
Hinweise
Wenn der angegebene Name nicht im Projekt oder in den Projektverweisen gefunden wird, gibt CodeTypeFromFullName kein Codeelement mit einer Kind-Eigenschaft von vsCMElementOther und einer InfoLocation-Eigenschaft von vsCMInfoLocationNone, sondern Nothing zurück.
Hinweis: |
---|
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 CodeTypeFromFullNameExample(ByVal dte As DTE2)
' Before running this example, open a project.
Try
Dim proj As Project
For Each proj In dte.Solution
Dim cm As CodeModel = proj.CodeModel
If IsNothing(cm) = False Then
Dim name As String = _
ConvertFullName(cm, "System.Object")
Dim typ As CodeType = cm.CodeTypeFromFullName(name)
If IsNothing(typ) = False Then
MsgBox(proj.Name & vbCrLf & name & "'s kind is " _
& typ.Kind.ToString())
Else
MsgBox(proj.Name & _
": CodeTypeFromFullName failed.")
End If
End If
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Function ConvertFullName(ByVal cm As CodeModel, _
ByVal fullName As String) As String
' Convert a .NET type name into a C++ type name.
If (cm.Language = CodeModelLanguageConstants.vsCMLanguageVC) Or _
(cm.Language = CodeModelLanguageConstants.vsCMLanguageMC) Then
Return fullName.Replace(".", "::")
Else
Return fullName
End If
End Function
public void CodeTypeFromFullNameExample(DTE2 dte)
{
// Before running this example, open a project.
try
{
foreach (Project proj in dte.Solution)
{
CodeModel cm = proj.CodeModel;
if (cm != null)
{
string name = ConvertFullName(cm, "System.Object");
CodeType typ = cm.CodeTypeFromFullName(name);
if (typ != null)
MessageBox.Show(proj.Name + "\r\n" +
name + "'s kind is " + typ.Kind.ToString());
else
MessageBox.Show(proj.Name +
": CodeTypeFromFullName failed.");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
string ConvertFullName(CodeModel cm, string fullName)
{
// Convert a .NET type name into a C++ type name.
if ((cm.Language == CodeModelLanguageConstants.vsCMLanguageVC) ||
(cm.Language == CodeModelLanguageConstants.vsCMLanguageMC))
return fullName.Replace(".", "::");
else
return fullName;
}
Berechtigungen
- 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
CodeTypeFromFullName-Überladung
Weitere Ressourcen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell