Compartilhar via


Trabalhando com o Visual C++ Code no Designer de Classe

O Designer de Classe exibe uma área de design visual chamada um diagrama de classes que fornece uma representação visual dos elementos de código em seu projeto.Você pode usar diagramas de classe para criar e visualizar classes e outros tipos em um projeto.

Nas versões anteriores do Visual Studio, Designer de Classe suporte somente os idiomas gerenciado (Visual Basic e Visual translation from VPE for Csharp).In Visual Studio 2008O Designer de Classe adiciona suporte limitado para código C++ nativo, deve ser usado apenas para visualização e documentação.

O Designer de Classe suporta os seguintes elementos de código C++:

  • Classe (semelhante a uma forma de classe gerenciada exceto que ele pode ter várias relações de herança)

  • Classe anônima (exibe a nome gerado do Modo de Exibição de Classe para o tipo anônimo)

  • Classe de modelo

  • Struct

  • Enum

  • Macro (exibe o modo de exibição post-processed da macro)

  • TypeDef

Solucionando problemas de vídeo e resolução de tipo

Local dos arquivos de fonte

O Designer de Classe não manter o controle de local dos arquivos de fonte.Portanto, se você modificar a estrutura do projeto ou mover arquivos de fonte no seu projeto, Designer de Classe podem perder o controle do tipo (especialmente o tipo de fonte de um typedef, classes base ou tipos de associação).Você pode receber uma mensagem de erro, sistema autônomo O Designer de Classe não pode exibir este tipo. Se você fizer isso, arrastar o código-fonte modificadas ou realocados para o diagrama de classes novamente para exibi-la novamente.

Problemas de desempenho e a atualização

Para projetos Visual C++, poderá demorar 30 a 60 segundos para que uma alterar no arquivo de fonte apareça no diagrama de classes.Este atraso também pode causar o Designer de Classe gerar o erro Sem tipos foram encontrados na seleção. Se você receber um erro sistema autônomo este, clicar Cancelar na mensagem de erro e aguardar o elemento de código aparecem na tela de classe.Depois de fazer isso, Designer de Classe poderá exibir o tipo.

Se um diagrama de classes não conseguir atualizar com as alterações feitas no código, talvez seja necessário fechar o diagrama e em aberto-lo novamente.

Problemas de resolução de tipo

O Designer de Classe não consiga resolver tipos pelos seguintes motivos:

  • O tipo é em um projeto ou assembly que não é referenciado no projeto que contém o diagrama de classes.Para corrigir este erro, adicione uma referência ao assembly que contém o tipo ou projeto.Para obter mais informações, consulte Como: Adicionar ou remover referências no Visual Studio (Visual Basic).

  • O tipo não está no escopo correto, para que o Designer de Classe não conseguir localizá-lo.Certifique-se de que o código não está faltando um using, imports, ou #include demonstrativo. Além disso, certifique-se de que você não moveu o tipo (ou um tipo relacionado) para fora do espaço para nome em que estava originalmente localizado.Para obter mais informações, consulte Referenciando Namespaces e Componentes.

  • O tipo não existe (ou foi comentado).Para corrigir este erro, certifique-se de que ter não acidentalmente comentada ou excluído o tipo.

O erro que provavelmente ver um problema de resolução de tipo é Código não pôde ser encontrado para uma ou mais formas no diagrama de classes '<elemento>'. Consulte a descrição desse erro para obter mais informações.

Solucionando problemas de mensagens de erro específica

Para obter mais informações sobre como solucionar mensagens de erro específicas, consulte os tópicos de erro no Mensagens de erro do criador de classe.

Limitações para elementos de código C++

  • Quando um projeto Visual C++ é carregado, funções de Designer de Classe no modo somente leitura.Você pode alterar o diagrama de classes, mas não é possível salvar alterações do diagrama de classe de volta ao código-fonte.

  • O Designer de Classe oferece suporte somente semântica de C++ nativa.Para projetos Visual C++ compilados no código gerenciado, Designer de Classe irá visualizar somente elementos de código que são tipos nativo.Portanto, você pode adicionar um diagrama de classes a um projeto, mas o Designer de Classe não permitirá que você visualizar os elementos no qual o IsManaged propriedade estiver definida como true (isto é, tipos de valor e tipos de referência).

  • Para projetos Visual C++, o Designer de Classe lê apenas a definição do tipo.Por exemplo, suponha que você definir um tipo em um arquivo de cabeçalho (. h) e definir seus membros em um arquivo de implementação (CPP).Se você chamar "Exibir diagrama de classes" no arquivo de implementação (CPP), Designer de Classe não exibe nada.sistema autônomo outro exemplo, se você chamar "Exibir diagrama de classes" em um arquivo .cpp que usa um#include demonstrativo para incluir outros arquivos, mas não contiver nenhuma definição de classe real, o Designer de Classe novamente não exibirá nada.

  • IDL (.idl) arquivos, que definem as interfaces COM e bibliotecas de tipos, não são exibidos nos diagramas, a menos que eles são compilados para código C++ nativo.

  • O Designer de Classe não oferece suporte a variáveis e funções global.

  • O Designer de Classe não oferece suporte para uniões.Este é um tipo especial de classe em que a memória alocada é apenas a quantidade necessária para membro de dados maior a união.

  • O Designer de Classe não exibe sistema autônomo tipos de dados básicos, sistema autônomo int e char.

  • O Designer de Classe não exibe os tipos definidos outside of o projeto corrente se o projeto não tiver referências corretas para esses tipos.

  • O Designer de Classe pode exibir tipos aninhados, mas não as relações entre um tipo aninhado e outros tipos.

  • O Designer de Classe não é possível exibir tipos que são void ou que derive de um tipo de void.

Consulte também

Conceitos

O Visual C++ Classes no Designer de Classe

O Visual C++ estruturas no Designer de Classe

O Visual C++ enumerações no Designer de Classe

O Visual C++ Typedefs no Designer de Classe

Outros recursos

Criando e exibindo classes e tipos

Trabalhando com Classes e Outros Tipos

Trabalhando com diagramas de classe

Criar classes e tipos

Mensagens de erro do criador de classe