Entrar

Não é possível acessar campos para tipos que são definidos em uma classe parcial, quando você usar o modelo de código do Visual Basic para estender o Visual Studio 2005

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

907963
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você usar o modelo de código do Visual Basic para estender o Microsoft Visual Studio 2005, você não poderá acessar campos para tipos definidos em uma classe parcial. Esse problema ocorre quando você usa o membro CodeType da interface CodeTypeRef .
Causa
Esse problema ocorre porque o membro CodeType é definido como nulo quando a definição de membro CodeType faz referência não é definida no primeiro segmento de uma classe parcial que analisa o modelo de código.
Resolução
Para resolver esse problema, use um dos seguintes métodos:
  • Coloque o segundo segmento de classe parcial em um arquivo de origem que tem um nome que aparece em ordem alfabética antes do arquivo de origem que contém a primeira declaração de classe parcial.
  • Mova a definição de membro CodeType referências para o primeiro segmento da classe parcial. Use este método quando vários segmentos de uma classe parcial aparecem no mesmo arquivo. O exemplo de código a seguir mostra como fazer isso.
    Partial Friend Class SomeDataSet        Friend Class SomeTableRow    End ClassEnd ClassPartial Friend Class SomeDataSetEnd Class
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Mais Informações

Etapas para reproduzir o problema

  1. Crie uma biblioteca de classe do Visual Basic.
  2. Adicione o código que é semelhante ao seguinte exemplo de código para o arquivo Class1.vb.
    Partial Friend Class SomeDataSetEnd ClassPartial Friend Class SomeDataSet    Friend Class SomeTableRow    End ClassEnd ClassPublic Class SomeObject    Friend Sub Sub1()    End Sub    Private mDataRow As SomeDataSet.SomeTableRowEnd Class
  3. No menu Ferramentas , aponte para macros e, em seguida, clique em Macros IDE . As macros IDE aparece.
  4. No menu Exibir do IDE de macros, clique em Explorador de projeto .
  5. No Explorador de projeto, expanda MyMacros .
  6. Clique duas vezes em Module1 .
  7. Adicionar o código de exemplo a seguir ao módulo arquivo.
    Sub Macro1()	Dim cv As CodeVariable = DTE.ActiveDocument.Selection.ActivePoint.CodeElement(vsCMElement.vsCMElementVariable)	MsgBox(cv.Type.CodeType.FullName)End Sub
  8. Feche as macros IDE.
  9. Na biblioteca de classe do Visual Basic, coloque o ponto de inserção no mDataRow .
  10. No menu Ferramentas no IDE do Visual Studio, aponte para macros e, em seguida, clique em Macro Explorer . Macro Explorer aparece.
  11. No Macro Explorer, expanda MyMacros e, em seguida, expanda Module1 .
  12. No Macro Explorer, clique com o botão direito do mouse em Macro1 e, em seguida, clique em Executar .
Para obter mais informações sobre o membro CodeType , visite o seguinte Microsoft Developer Network (MSDN) site: Para obter mais informações sobre o Microsoft Visual Studio Team System, visite o seguinte site da MSDN: Para obter mais informações sobre testes de unidade, visite o MSDN seguinte site:

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 907963 - Última Revisão: 01/17/2015 11:59:21 - Revisão: 1.4

  • Microsoft Visual Studio 2005 Team System Architect Edition
  • Microsoft Visual Studio 2005 Team System Developer Edition
  • Microsoft Visual Studio 2005 Team System Test Edition
  • Microsoft Visual Studio 2005 Team System Team Foundation:
  • kbnosurvey kbarchive kbmt kbbug kbtshoot kbprb KB907963 KbMtpt
Comentários