Partager via


Comment : lire un modèle UML dans le code de programme

Vous pouvez charger un modèle UML et ses diagrammes à l'aide de l'API UML.

Lecture d'un modèle dans le code de programme

Pour accéder au contenu d'un modèle sans l'afficher dans une fenêtre Visual Studio, utilisez ModelingProject.LoadReadOnly().

Par exemple :

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>())
   { 
       ...
   }
}

Si vous voulez lire les formes dans un diagramme, vous devez lire le projet, puis le diagramme.

Par exemple :

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>())
  { ... }
}

Autres méthodes

Pour de nombreuses applications, Visual Studio Modelbus vous permet de référencer des modèles et les éléments qu'ils contiennent, avec une meilleure robustesse et une plus grande flexibilité qu'avec les méthodes décrites dans cette rubrique. Il fournit une méthode standard pour établir des liens entre des éléments arbitraires, dans les mêmes modèles ou des modèles différents. Pour plus d'informations, consultez Comment : intégrer des modèles UML à d'autres modèles et outils.

Vous pouvez également ouvrir des modèles et des diagrammes dans l'interface utilisateur à l'aide de l'API Visual Studio. Pour plus d'informations, consultez Comment : ouvrir un modèle UML à l'aide de l'API Visual Studio.

Applications autonomes

L'exemple mentionné dans la section précédente fonctionnera dans les extensions Visual Studio. Il est possible de lire un modèle dans une application autonome, mais vous devez ajouter des références à votre projet Visual Studio.

Notes

Les détails de la procédure de lecture d'un modèle dans une application autonome sont susceptibles de changer dans les versions futures du produit. Certaines fonctionnalités accessibles dans la version actuelle ne seront peut-être pas disponibles dans les versions futures.

Pour ajouter des références afin de lire un modèle dans une application autonome

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet dans lequel vous créez l'application, puis cliquez sur Propriétés. Dans l'éditeur de propriétés, sous l'onglet Application, affectez à Framework cible la valeur .NET Framework 4.

  2. Ajoutez les références .NET dont vous avez besoin pour accéder aux modèles UML, en général :

    • Microsoft.VisualStudio.Uml.Interfaces.dll

    • Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll

  3. Outre les références répertoriées dans les sections précédentes, ajoutez les références de projet suivantes à partir de \Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies :

    • Microsoft.VisualStudio.Uml.dll

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

    Si vous souhaitez lire des diagrammes dans votre application, vous aurez éventuellement besoin des références suivantes :

    • 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

Voir aussi

Autres ressources

Programmation à l'aide de l'API UML

Extension de modèles et de diagrammes UML