Interface CodeElement2
Representa um elemento de código ou a construção de um arquivo de origem.
Namespace: EnvDTE80
Assembly: EnvDTE80 (em EnvDTE80.dll)
Sintaxe
'Declaração
<GuidAttribute("F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")> _
Public Interface CodeElement2 _
Inherits CodeElement
[GuidAttribute("F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")]
public interface CodeElement2 : CodeElement
[GuidAttribute(L"F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")]
public interface class CodeElement2 : CodeElement
[<GuidAttribute("F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")>]
type CodeElement2 =
interface
interface CodeElement
end
public interface CodeElement2 extends CodeElement
O tipo CodeElement2 expõe os membros a seguir.
Propriedades
Nome | Descrição | |
---|---|---|
Children | (Herdado de CodeElement.) | |
Children | Obtém uma coleção de objetos contidos nisso CodeElement2. | |
Collection | (Herdado de CodeElement.) | |
Collection | Obtém o CodeElements coleção contendo o CodeElement2 que ofereça suporte a essa propriedade. | |
DTE | (Herdado de CodeElement.) | |
DTE | Obtém o objeto de extensibilidade de nível superior. | |
ElementID | Obtém um valor que identifica com exclusividade o elemento.Não implementado no Visual C#. | |
EndPoint | (Herdado de CodeElement.) | |
EndPoint | Obtém o ponto do texto que é o local do final do item de código. | |
Extender[String] | (Herdado de CodeElement.) | |
Extender[String] | Retorna o extensor solicitado se estiver disponível para este CodeElement2 objeto.Não implementado no Visual C#. | |
ExtenderCATID | (Herdado de CodeElement.) | |
ExtenderCATID | Obtém a ID da categoria de extensor CATID () para o CodeElement2 objeto.Não implementado no Visual C#. | |
ExtenderNames | (Herdado de CodeElement.) | |
ExtenderNames | Obtém uma lista de extensores disponíveis para o CodeElement2 objeto.Não implementado no Visual C#. | |
FullName | (Herdado de CodeElement.) | |
FullName | Obtém o caminho completo e o nome do CodeElement2 arquivo do objeto. | |
InfoLocation | (Herdado de CodeElement.) | |
InfoLocation | Obtém os recursos do modelo de código. | |
IsCodeType | (Herdado de CodeElement.) | |
IsCodeType | Obtém ou não um CodeType objeto pode ser obtido com o CodeElement2 objeto. | |
Kind | (Herdado de CodeElement.) | |
Kind | Obtém uma enumeração que define o tipo de elemento de código. | |
Language | (Herdado de CodeElement.) | |
Language | Obtém a linguagem de programação usada para o autor do CodeElement2. | |
Name | (Herdado de CodeElement.) | |
Name | Obtém ou define o nome da CodeElement2 objeto. | |
ProjectItem | (Herdado de CodeElement.) | |
ProjectItem | Obtém o ProjectItem objeto associado com o CodeElement objeto. | |
StartPoint | (Herdado de CodeElement.) | |
StartPoint | Obtém um TextPoint objeto que define o início do CodeElement2. |
Superior
Métodos
Nome | Descrição | |
---|---|---|
GetEndPoint(vsCMPart) | (Herdado de CodeElement.) | |
GetEndPoint(vsCMPart) | Obtém um TextPoint que marca o final da definição de elemento do código objeto. | |
GetStartPoint(vsCMPart) | (Herdado de CodeElement.) | |
GetStartPoint(vsCMPart) | Obtém um TextPoint que marca o início da definição de elemento do código objeto. | |
RenameSymbol | Altera o nome declarado de um objeto e atualiza todas as referências de código para o objeto dentro do escopo do projeto atual. |
Superior
Comentários
Um elemento de código pode ser qualquer fragmento de código, mas em geral, há um CodeElement2 o objeto para cada definição ou a sintaxe declarativa em um idioma.Isso significa que, para mais definições de nível superior ou declarações em um arquivo ou de qualquer forma sintática em uma definição de classe e assim por diante, há um correspondente CodeElement2 objeto.
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
[Visual Basic]
Sub IsCodeTypeExample(ByVal dte As DTE2)
' NOTE: This example requires a reference to the System.Text
' namespace.
' Before running this example, open a code document from a project.
Dim item As ProjectItem = dte.ActiveDocument.ProjectItem
Dim sb As New StringBuilder
RecurseElements(item.FileCodeModel.CodeElements, 0, sb)
MsgBox(item.Name & " contains the following elements:" & vbCrLf & _
vbCrLf & sb.ToString())
End Sub
Sub RecurseElements(ByVal elems As CodeElements, _
ByVal level As Integer, ByVal sb As StringBuilder)
Dim elem As CodeElement
For Each elem In elems
' Add element to the list of names.
sb.Append(" "c, level * 8)
sb.Append(elem.Name & " [" & elem.Kind.ToString() & "]" & _
vbCrLf)
' Call this function recursively if element has children.
If elem.Kind = vsCMElement.vsCMElementNamespace Then
RecurseElements(CType(elem, CodeNamespace).Members, _
level + 1, sb)
ElseIf elem.IsCodeType Then
RecurseElements(CType(elem, CodeType).Members, _
level + 1, sb)
End If
Next
End Sub
[C#]
public void IsCodeTypeExample(DTE2 dte)
{
// NOTE: This example requires a reference to the System.Text
// namespace.
// Before running this example, open a code document from a
// project.
ProjectItem item = dte.ActiveDocument.ProjectItem;
StringBuilder sb = new StringBuilder();
RecurseElements(item.FileCodeModel.CodeElements, 0, sb);
MessageBox.Show(item.Name + " contains the following elements:" +
Environment.NewLine + Environment.NewLine + sb.ToString());
}
void RecurseElements(CodeElements elems, int level, StringBuilder sb)
{
foreach (CodeElement elem in elems)
{
// Add element to the list of names.
sb.Append(' ', level * 8);
sb.Append(elem.Name + " [" + elem.Kind.ToString() + "]" +
Environment.NewLine);
// Call this function recursively if element has children.
if (elem.Kind == vsCMElement.vsCMElementNamespace)
RecurseElements(((CodeNamespace)elem).Members,
level + 1, sb);
else if (elem.IsCodeType)
RecurseElements(((CodeType)elem).Members, level + 1, sb);
}
}
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)