Partilhar via


Como ler um modelo UML no código do programa

Você pode carregar um modelo UML e seus diagramas usando a API UML.

Lendo um modelo no código do programa

Para acessar o conteúdo de um modelo sem mostrá-lo em uma janela do Visual Studio, use ModelingProject.LoadReadOnly().

Por exemplo:

using Microsoft.VisualStudio.Uml.Classes; 
               // for IElement
using Microsoft.VisualStudio.ArchitectureTools.Extensibility; 
               // for ModelingProject
using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml;
               // for IModelStore
... 
string projectPath = @"C:\MyProjectFolder\MyProject.modelproj";
using (IModelingProjectReader projectReader =
           ModelingProject.LoadReadOnly(projectPath))
{
   IModelStore store = projectReader.Store;
   foreach (IClass umlClass in store.AllInstances<IClass>())
   { 
       ...
   }
}

Se você desejar ler as formas em um diagrama, você deve ler o projeto e o diagrama.

Por exemplo:

using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation; 
                             // for IDiagram
...
foreach (string diagramFile in projectReader. DiagramFileNames)
{ 
  IDiagram diagram = projectReader.LoadDiagram(diagramFile);
  foreach (IShape<IElement> shape 
         in diagram.GetChildShapes<IElement>())
  { ... }
}

Métodos alternativos

Para muitos aplicativos, o Visual Studio Modelbus permite a você referenciar modelos e elementos dentro deles, com maior robustez e flexibilidade do que com os métodos descritos neste tópico. Fornece um método padrão para criação de links entre elementos arbitrários, no mesmo ou em modelos diferentes. Para obter mais informações, consulte Como integrar modelos UML a outros modelos e ferramentas.

Você também pode abrir modelos e diagramas na interface do usuário usando a API Visual Studio. Para obter mais informações, consulte Como abrir um modelo UML usando a API do Visual Studio.

Aplicativos autônomos

O exemplo na seção anterior funcionará em extensões do Visual Studio. É possível ler um modelo em um aplicativo autônomo, mas você deve adicionar algumas referências ao seu projeto do Visual Studio.

Dica

Os detalhes de como ler um modelo em um aplicativo autônomo poderão ser alterados em versões futuras do produto.Alguns recursos que são acessíveis na versão atual podem não estar disponíveis nas versões futuras.

Para adicionar referências para ler um modelo em um aplicativo autônomo.

  1. No Gerenciador de Soluções, clique com o botão direito no projeto no qual você está compilando o aplicativo e, em seguida, clique em Propriedades. No editor de propriedades, na guia Aplicativo, defina Estrutura de Destino como .NET Framework 4.

  2. Adicione referências de .NET necessárias para acessar os modelos de UML, normalmente:

    • Microsoft.VisualStudio.Uml.Interfaces.dll

    • Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll

  3. Além das referências listadas nas seções anteriores, adicione as seguintes referências de projeto de \Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies:

    • Microsoft.VisualStudio.Uml.dll

    • Microsoft.VisualStudio.TeamArchitect.ModelStore.Dsl.dll

    Se você desejar ler diagramas em seu aplicativo, você também pode exigir essas referências:

    • Microsoft.VisualStudio.TeamArchitect.ActivityDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.ComponentDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.LogicalClassDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.SequenceDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.UseCase.Dsl.dll

Consulte também

Conceitos

Programando com a API UML

Estendendo modelos e diagramas UML