CodeModel.CodeTypeFromFullName, méthode
Retourne un élément de code basé sur un nom qualifié complet.
Espace de noms : EnvDTE
Assembly : EnvDTE (dans EnvDTE.dll)
Syntaxe
'Déclaration
Function CodeTypeFromFullName ( _
Name As String _
) As CodeType
CodeType CodeTypeFromFullName(
string Name
)
CodeType^ CodeTypeFromFullName(
String^ Name
)
abstract CodeTypeFromFullName :
Name:string -> CodeType
function CodeTypeFromFullName(
Name : String
) : CodeType
Paramètres
Name
Type : StringObligatoire. Nom complet de symbole, tel que Namespace1.Namespace2.Class1.Member1.
Valeur de retour
Type : EnvDTE.CodeType
Objet CodeType.
Notes
Si le nom spécifié ne se trouve pas dans le projet ou une de ses références, CodeTypeFromFullName retourne Nothing, plutôt qu'un élément de code avec une propriété Kind ayant la valeur vsCMElementOther et une propriété InfoLocation ayant la valeur vsCMInfoLocationNone.
Notes
Les valeurs d'éléments de modèle de code, tels que des classes, des structures, des fonctions, des attributs, des délégués, etc., peuvent être non déterminables après certains types de modifications, ce qui signifie qu'il n'est pas certain que leurs valeurs resteront inchangées.Pour plus d'informations, consultez la section Les valeurs d'élément de modèle de code peuvent être modifiées de la rubrique Découverte de code à l'aide du modèle de code (Visual Basic).
Exemples
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;
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, voir Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Autres ressources
Comment : compiler et exécuter les exemples de code du modèle objet Automation
Découverte de code à l'aide du modèle de code (Visual Basic)