Compartilhar via


Modelagem e Análise de Código (Visual C#)

Não é incomum para desenvolvedores de software trabalhar com código fonte cuja arquitetura básica é desconhecida, pois ele foi escrito por outra pessoa, ou porque ele foi escrito há tanto tempo que seus criadores originais não mais recordam como ele funciona.Outro cenário comum é a necessidade de entender o conteúdo de uma biblioteca que só está disponível no formato binário.Visual C# fornece as seguintes ferramentas para ajudar você a modelar, analisar e compreender tipos e relacionamentos de tipos em código fonte como também em módulos binários (assemblies):

  • Classe Designer, para representar visualmente relacionamentos de herança e associação entre tipos.

  • Pesquisador de Objetos, para examinar os tipos, métodos e eventos exportados pelos assemblies do .NET Framework, e DLLs nativas incluindo os objetos COM.

  • Metadados como fonte, para exibir informações de tipo em módulos (assemblies) gerenciados como se fosse código fonte em seu próprio projeto.

Além das ferramentas listadas acima, Visual Studio Team System inclui a ferramenta Análise de Código para Código Gerenciado que inspeciona seu código para uma variedade de problemas potenciais.

Class Designer

A classe Designer é uma ferramenta gráfica para modelagem visual da relação entre tipos em um aplicativo de software ou componente; você também pode usá-la para criar novos tipos e refazer ou excluir tipos existentes.A ilustração a seguir mostra a criação de uma classe simples:

Para adicionar um diagrama de classe a um projeto, clique em Add New Item no menu Project , e em seguida, clique em Add Class Diagram.

Para obter mais informações, consulte Criando e exibindo classes e tipos.

Pesquisador de Objetos

O Pesquisador de Objetos permite que você veja informações de tipo em DLLs nativas e gerenciadas, incluindo objetos COM.Embora as informações que você vê no Pesquisador de Objetos sejam semelhantes as que você vê no Class View, você pode usar o Pesquisador de Objetos para examinar qualquer DLL em seu sistema, não apenas aquelas referenciadas no seu próprio projeto.Além disso, o Pesquisador de Objetos também exibe comentários da documentação XML para o tipo selecionado.A ilustração a seguir mostra como o Pesquisador de Objetos exibe informações de tipo em arquivos binários.

Para mais informações, consulte: Pesquisador de Objetos.

Os metadados como fonte:

O recurso Metadata As Source (Metadados como fonte) permite que você veja informações de tipo das classes em módulos (assemblies) gerenciados como se eles fossem código-fonte em seu próprio projeto.Essa é uma maneira conveniente para exibir as assinaturas para todos os métodos públicos em uma classe quando você não tem acesso ao código fonte real.

Por exemplo, se você inserir a demonstrativo System.Console.WriteLine() no editor de código, coloque o ponto de inserção dentro de Console e, em seguida, clicar com o botão direito do mouse e selecionar Ir para definição, você verá que parece um arquivo de código-fonte que contém a demonstrativo do Console classe. Essa declaração é construída a partir dos metadados no assembly usando Reflexão, e embora não exponha a implementação de todos os métodos, mostra comentários da documentação XML que estão presentes.

Você também pode usar o recurso Metadata As Source, selecionando um tipo gerenciado no Pesquisador de Objetos, e clicando em Code Definition Window no menu View.

Para obter mais informações e uma ilustração, consulte Metadados como fonte.

Análise de código para código gerenciado

A ferramenta de análise de código para código gerenciado analisa informações de assemblies gerenciados e relatórios assim como possíveis problemas de segurança, e violações de regras de programação e projeto definidas nas diretrizes de projeto do Microsoft .NET Framework.Essas informações são apresentadas como avisos.Você acessa a ferramenta no Designer de Projeto clicando com o botão direito do mouse em Properties no Solution Explorer, e selecionando Open.

Para obter mais informações, consulte Análise de código, Designer de projeto e Visão geral da análise de código para código gerenciado.

Consulte também

Conceitos

Editar Código (Visual C#)

Referência

Reflexo (guia de programação C#) 

Outros recursos

Usando o IDE do Visual C#

Diretrizes de Design para desenvolvimento bibliotecas de classe

Diretrizes de design para exceções

Diretrizes de design de membro

Diretrizes de design de tipo