Método CodeModel.CodeTypeFromFullName
Retorna um elemento de código com base em um nome totalmente qualificado.
Namespace: EnvDTE
Assembly: EnvDTE (em EnvDTE.dll)
Sintaxe
'Declaração
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
Parâmetros
- Name
Tipo: System.String
Obrigatório.Nome de um símbolo totalmente qualificado, como Namespace1.Namespace2.Class1.Member1.
Valor de retorno
Tipo: EnvDTE.CodeType
A CodeType object.
Comentários
Se o nome especificado não for encontrado no projeto ou em qualquer uma de suas referências, CodeTypeFromFullName retorna Nothing, em vez de retornar de um elemento de código com um Kind propriedade do vsCMElementOther e um InfoLocation propriedade do vsCMInfoLocationNone.
Observação |
---|
Os valores de elementos de modelo de código, como classes, estruturas, funções, atributos, delegados e assim por diante podem ser não-determinísticos depois de fazer determinados tipos de edições, o que significa que seus valores não confie sempre permanecer o mesmo.Para obter mais informações, consulte a seção valores de elemento de modelo de código podem ser alterada de Descobrindo o código usando o modelo de código (Visual Basic). |
Exemplos
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;
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.
Consulte também
Referência
Outros recursos
Como: compilar e executar os exemplos de código de modelo de objeto de automação
Descobrindo o código usando o modelo de código (Visual Basic)