Compartilhar via


Trabalhando com o código do Visual C++ (Designer de classe)

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

Class Designer 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 o nome do exibição de classe gerado para o tipo anônimo)

  • Classe de modelo

  • Struct

  • Enum

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

  • TypeDef

Solucionando problemas de exibição e de resolução de tipo

Local dos arquivos de origem

Class Designer não manter controle sobre a localização dos arquivos de origem. Portanto, se você modificar a estrutura do projeto ou move arquivos de origem em seu projeto, o Class Designer podem perder o controle do tipo (especialmente o tipo de origem de um typedef, classes base ou tipos de associação). Você pode receber um erro, como Class Designer is unable to display this type. Se fizer isso, arraste o código-fonte do realocados ou modificado para o diagrama de classe novamente para exibi-la novamente.

Problemas de desempenho e de atualização

Para projetos do Visual C++, poderá demorar 30 a 60 segundos para uma alteração no arquivo de origem para aparecer no diagrama de classe. Esse atraso também pode causar o Class Designer lançar o erro No types were found in the selection. Se você receber um erro como este, clique em Cancelar na mensagem de erro e espere até que o elemento de código aparecem no modo de exibição de classe. Após fazer isso, o Class Designer deve ser capaz de exibir o tipo.

Se um diagrama de classe não for atualizado com as alterações feitas no código, você precisará fechar o diagrama e abri-lo novamente.

Problemas de resolução de tipo

Class Designer talvez não consiga resolver tipos pelos seguintes motivos:

  • O tipo é em um projeto ou de um assembly que não é referenciado no projeto que contém o diagrama de classe. Para corrigir esse erro, adicione uma referência ao assembly que contém o tipo ou projeto. For more information, see Como: Adicionar ou remover referências no Visual Studio.

  • O tipo não está no escopo correto, portanto o Class Designer não é possível localizá-lo. Certifique-se de que o código não está faltando uma using, imports, ou #include instrução. Além disso, certifique-se de que você não moveu o tipo (ou um tipo relacionado) fora do espaço para nome que foi originalmente localizado. For more information, see Referenciando Namespaces e Componentes.

  • O tipo não existe ou foi comentado. Para corrigir esse erro, certifique-se de que você não comentada ou excluiu o tipo.

  • O tipo está localizado em uma biblioteca referenciada por uma diretiva # Import. Uma possível solução é adicionar manualmente o gerado diretiva de inclusão de código (o arquivo .tlh) um # para o arquivo de cabeçalho.

O erro provavelmente ver um problema de resolução de tipo é Code could not be found for one or more shapes in class diagram '<element>'. Consulte a descrição do erro para obter mais informações.

Mensagens de erro específicas de solução de problemas

Para obter mais informações sobre como solucionar mensagens de erro específicas, consulte os tópicos de erro no Informações adicionais sobre erros de Designer da classe.

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

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

  • Class Designer oferece suporte somente a semântica C++ nativa. Para projetos do Visual C++ são compilados em código gerenciado, o Class Designer será apenas visualizar elementos de código que são tipos nativos. Portanto, você pode adicionar um diagrama de classe a um projeto, mas o Class Designer não permitirá que você visualizar os elementos no qual o IsManaged for definida como true (ou seja, tipos de valor e tipos de referência).

  • Para projetos do Visual C++, o Class Designer lê apenas a definição do tipo. Por exemplo, suponha que você define um tipo em um arquivo de cabeçalho (. h) e define seus membros em um arquivo de implementação (CPP). Se você chamar o "Modo de exibição Diagrama de classe" o arquivo de implementação (CPP), o Class Designer exibe nada. Como outro exemplo, se você chamar o "Modo de exibição Diagrama de classe" em um arquivo. cpp que usa um #include declaração para incluir outros arquivos, mas não contém quaisquer definições de classe real, o Class Designer novamente exibe nada.

  • Arquivos IDL (. IDL), 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.

  • Class Designer não oferece suporte a variáveis e funções globais.

  • Class Designer não oferece suporte a uniões. Este é um tipo especial de classe na qual a memória alocada é apenas a quantidade necessária para o membro de dados maior da união.

  • Class Designer não exibe os tipos de dados básicos, como int e char.

  • Class Designer não exibe os tipos são definidos fora do projeto atual, se o projeto não tem referências corretas para esses tipos.

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

  • Class Designer não pode exibir os tipos que são nulos ou que derive de um tipo void.

Consulte também

Conceitos

Classes de Visual C++ no Class Designer

Estruturas de Visual C++ no Class Designer

Enumerações de Visual C++ no Class Designer

Typedefs de Visual C++ no Class Designer

Outros recursos

Projetando e exibindo Classes e tipos

Trabalhar com Classes e outros tipos (Designer de classe)

Trabalhando com diagramas de classe (Designer de classe)

A criação de Classes e tipos (Designer de classe)

Informações adicionais sobre erros de Designer da classe