Sdílet prostřednictvím


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.String

    Erforderlich. 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

Siehe auch

Referenz

CodeModel2-Schnittstelle

CodeModel2-Member

CodeTypeFromFullName-Überladung

EnvDTE80-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell

Ermitteln von Code über das Codemodell (Visual Basic)

Ermitteln von Code über das Codemodell (Visual C#)