Partager via


CodeGenerationUtilities, classe

Utilitaires utilisés par les modèles de génération de code

Hiérarchie d'héritage

System.Object
  Microsoft.VisualStudio.Modeling.DslDefinition.CodeGenerationUtilities

Espace de noms :  Microsoft.VisualStudio.Modeling.DslDefinition
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0.dll)

Syntaxe

'Déclaration
Public NotInheritable Class CodeGenerationUtilities
public static class CodeGenerationUtilities

Le type CodeGenerationUtilities expose les membres suivants.

Méthodes

  Nom Description
Méthode publiqueMembre statique AddSerializationResourceStrings Ajoute les chaînes de ressource utilisées par des sérialiseurs générés.Les chaînes ajoutées ici ne sont pas localisées, car elles sont utilisées pour générer le fichier resx, qui sera localisé.
Méthode publiqueMembre statique AllowMultiple Obtient une valeur indiquant si le rôle donné permet plusieurs instances, selon la multiplicité.
Méthode publiqueMembre statique CalculateInheritanceDepth Pour une DomainClass donnée, calcule la profondeur d'héritage du code généré (en tenant compte des classes de base doublement dérivées).Cela permet de déterminer si l'attribut SuppressMessage est nécessaire à l'"excès d'héritage".
Méthode publiqueMembre statique CreateXmlNamespaceQualifiers Créer xmlNamespaceQualifiers pour la dslLibrary et ses bibliothèques importées de premier niveau.
Méthode publiqueMembre statique DefinesDiagramElements True si le DslLibrary donné définit des éléments de diagramme ; sinon, false.Les éléments de diagrammes sont des éléments inclus dans DslLibrary.DiagramElements, plus le diagramme (s'il est défini).
Méthode publiqueMembre statique DefinesNewTargetRole Dans la dérivation de relation, une relation peut utiliser le même acteur de rôle cible que sa relation parente, ou elle peut en définir un nouveau (qui dérive de l'acteur de rôle cible de la relation parente).Cette méthode indique si le DomainRelationship donné définit un nouvel acteur de rôle cible.
Méthode publiqueMembre statique GenerateFontStyle Créer la syntaxe correcte pour initialiser un style de police.
Méthode publiqueMembre statique GetAccessModifier Obtient le mot clé de modificateur d'accès C# pour l'énumération AccessModifier donnée
Méthode publiqueMembre statique GetAttributeProperties Retourne toutes les DomainProperties définies sur la DomainClass donnée qui sera sérialisée en tant qu'attribut XML.
Méthode publiqueMembre statique GetBaseClass Obtient la chaîne pour déclarer la classe de base d'une classe de domaine.Si la classe de base n'est pas définie, le ModelElement est utilisé.
Méthode publiqueMembre statique GetBaseDomainClass Obtient la classe de base de domaine de la classe fournie
Méthode publiqueMembre statique GetBaseDomainClassMonikerSchemaTypeName Obtient le nom de type de schéma de nom pour la classe de base de la classe de domaine donnée.
Méthode publiqueMembre statique GetBaseDomainClassMonikerTagName Obtient le nom MonikerTagName de la classe de base de la classe de domaine fournie lorsqu'elle est sérialisée comme nom.Notez que le nom de balise ne peut pas être le même pour le moniker, car cela nécessite deux définitions du même élément dans le schéma généré.Le nom par défaut utilisé (s'il n'est pas spécifié à l'aide de XmlClassData.MonikerElementName) sera le XmlTagName non-moniker suivi de « Moniker ».
Méthode publiqueMembre statique GetBaseDomainClassSchemaTypeName Obtient le nom de type de schéma pour la classe de base de la classe de domaine donnée.
Méthode publiqueMembre statique GetBaseDomainClassXmlTagName Obtient le XmlTagName de la classe de base de la classe de domaine fournie.
Méthode publiqueMembre statique GetBasePropertyHandlerName Obtient la classe de base du PropertyHandler pour la propriété donnée.La classe de base est différente s'il s'agit d'une propriété calculée.
Méthode publiqueMembre statique GetBaseRelationship Obtient la chaîne pour déclarer la relation de base d'une relation de domaine.Si la classe de base n'est pas définie, l'ElementLink est utilisé.
Méthode publiqueMembre statique GetBaseRole Obtient le rôle de base du rôle donné, s'il existe.Dans le cas contraire, la valeur Null est retournée.
Méthode publiqueMembre statique GetCamelCase Convertit la chaîne d'entrée en casse mixte par la mise en minuscules du premier caractère.
Méthode publiqueMembre statique GetDesigner Obtient le Designer défini dans le DslLibrary donné.
Méthode publiqueMembre statique GetDiagramElementForDecoratorMap Obtient l'élément de diagramme associé à la carte de forme ou de connecteur qui définit une carte d'élément décoratif.
Méthode publiqueMembre statique GetDomainClassMonikerSchemaTypeName Obtient le nom de type de schéma de nom pour la classe de domaine donnée.
Méthode publiqueMembre statique GetDomainClassMonikerTagName(DomainClass, String) Obtient le nom MonikerTagName pour une classe de domaine, lorsqu'elle est sérialisée comme nom.Notez que le nom de balise ne peut pas être le même pour le moniker, car cela nécessite deux définitions du même élément dans le schéma généré.Le nom par défaut utilisé (s'il n'est pas spécifié à l'aide de XmlClassData.MonikerElementName) sera le XmlTagName non-moniker suivi de « Moniker ».
Méthode publiqueMembre statique GetDomainClassMonikerTagName(DomainClass, String, Dictionary<DslLibrary, String>) Obtient le nom MonikerTagName pour une classe de domaine, lorsqu'elle est sérialisée comme nom.Notez que le nom de balise ne peut pas être le même pour le moniker, car cela nécessite deux définitions du même élément dans le schéma généré.Le nom par défaut utilisé (s'il n'est pas spécifié à l'aide de XmlClassData.MonikerElementName) sera le XmlTagName non-moniker suivi de « Moniker ».
Méthode publiqueMembre statique GetDomainClassSchemaTypeName Obtient le nom de type de schéma pour la classe de domaine donnée.
Méthode publiqueMembre statique GetDomainClassXmlTagName(DomainClass, String) Obtient le XmlTagName pour une classe de domaine.
Méthode publiqueMembre statique GetDomainClassXmlTagName(DomainClass, String, Dictionary<DslLibrary, String>) Obtient le XmlTagName pour une classe de domaine.
Méthode publiqueMembre statique GetDomainTypeFullName(DomainProperty) Obtient le nom complet du type du DomainProperty (y compris les paramètres génériques) par rapport à l'espace de noms de la classe de la propriété.
Méthode publiqueMembre statique GetDomainTypeFullName(DomainType, String) Obtient le nom complet du DomainType (y compris les paramètres génériques) par rapport à l'espace de noms actuel donné.
Méthode publiqueMembre statique GetElementProperties Retourne toutes les DomainProperties définies sur la DomainClass donnée qui sera sérialisée en tant qu'élément XML imbriqué.
Méthode publiqueMembre statique GetGeneratedLinkAccessModifier Retourne le modificateur d'accès de type le plus limité dans la DomainRelationship et ses lecteurs de rôle passés.
Méthode publiqueMembre statique GetGeneratedPropertyGetterAccessModifier Retourne le modificateur de propriété d'accesseur Get à utiliser pour les propriétés Get/Set de la classe DomainRelationship
Méthode publiqueMembre statique GetGeneratedPropertySetterAccessModifier Retourne le modificateur de propriété d'accesseur Set à utiliser pour les propriétés Get/Set de la classe DomainRelationship
Méthode publiqueMembre statique GetGenerationClassName Retourne le nom de la classe à générer.Dans le cas d'une classe double dérivée, nous ajoutons « base » au nom de la classe de domaine.Sinon, le nom de la classe de domaine est utilisé.
Méthode publiqueMembre statique GetGenerationInheritanceModifier Obtient le modificateur de classe d'une classe de domaine.Retourne « abstract » si la classe est une classe double dérivée car la classe générée (classe de base) d'une paire double/dérivée est toujours abstraite
Méthode publiqueMembre statique GetGuid Retourne une chaîne au format « nouveau System.Guid (xxx) » où xxx est le format de chaîne du GUID donné.
Méthode publiqueMembre statique GetInheritanceModifier Obtient le mot clé de modificateur C# pour l'énumération InheritanceModifier donnée
Méthode publiqueMembre statique GetMethodModifier Obtient le modificateur de méthode (virtuel, substitution, etc.) dans le code généré avec les paramètres donnés.
Méthode publiqueMembre statique GetModelElementDomainClass Retourne le DomainClass qui représente ModelElement
Méthode publiqueMembre statique GetNameProperty Retourne une propriété (de cette classe ou d'une classe de base) qui peut être utilisée pour identifier un élément pour l'utilisateur.Retourne la propriété marquée IsElementName.S'il n'y en a pas, retourne la propriété marquée IsMonikerKey.S'il n'y en a pas, retourne la valeur null.
Méthode publiqueMembre statique GetPackageNamespace Obtient le nom du package DSL pour le DSL donné.
Méthode publiqueMembre statique GetPropertyDefaultValue Retourne la chaîne qui permet de déclarer la valeur par défaut d'une propriété (sous la forme « = defaultValue »
Méthode publiqueMembre statique GetPropertyDefaultValueAttribute Obtient la chaîne pour le constructeur de System.ComponentModel.DefaultValueAttribute.
Méthode publiqueMembre statique GetPropertyHandlerName Obtient le nom du gestionnaire de propriété pour une propriété.
Méthode publiqueMembre statique GetPropertyKind Retourne la chaîne correspondant au genre de la propriété pour le constructeur DomainPropertyAttribute.
Méthode publiqueMembre statique GetPropertyRepresentation Obtient le PropertyRepresentation (attribut, élément ou ignoré) du DomainProperty donné.La valeur par défaut est Attribute si elle n'est pas spécifiée.
Méthode publiqueMembre statique GetPropertyTagName Obtient le nom de balise XML du DomainProperty donné.Le nom de l'identificateur sera soit le nom de l'attribut XML si la propriété est sérialisée en tant qu'attribut XML, soit le nom de l'élément XML si la propriété est sérialisée en tant qu'élément XML imbriqué.
Méthode publiqueMembre statique GetRelationshipTagName Obtient le nom de rôle d'élément XML de la relation du rôle donné.Remarque : il s'agit du RoleElementName (s'il est défini) et non du nom de balise XML pour une relation sous une forme complète (retourné par GetDomainClassXmlTagName()).
Méthode publiqueMembre statique GetSameNameBaseRole Retourne le rôle de base du rôle donné s'il a le même nom que le rôle donné
Méthode publiqueMembre statique GetSegmentInputType(PathSegment) Pour le pathSegment donné, cette méthode retourne son nom de type qualifié complet d'entrée.
Méthode publiqueMembre statique GetSegmentInputType(PathSegment, Boolean) Pour le pathSegment donné, cette méthode retourne son nom de type qualifié complet d'entrée.
Méthode publiqueMembre statique GetSegmentOutputType(PathSegment) Pour le pathSegment donné, cette méthode retourne son nom de type qualifié complet de sortie.
Méthode publiqueMembre statique GetSegmentOutputType(PathSegment, Boolean) Pour le pathSegment donné, cette méthode retourne son nom de type qualifié complet de sortie.
Méthode publiqueMembre statique GetSerializedDomainClasses Obtient une liste de toutes les DomainClasses dans le DslLibrary donné qui aura des sérialiseurs générés.
Méthode publiqueMembre statique GetTypeAccessModifier Obtient le mot clé de modificateur d'accès C# pour l'énumération TypeAccessModifier donnée
Méthode publiqueMembre statique GetTypeRole Obtient le rôle qui détermine le type de la propriété générée pour ce rôle.Il s'agit du rôle le plus basique portant le même nom que ce rôle.
Méthode publiqueMembre statique GetVersionString Obtient la version d'un DslLibrary sous forme de chaîne.
Méthode publiqueMembre statique GetXmlSchemaNamespace Obtient l'espace de noms XML à utiliser pour le schéma généré
Méthode publiqueMembre statique HasCompartmentMaps True si le Diagram donné définit CompartmentMaps.
Méthode publiqueMembre statique HasCustomBaseImplementation Obsolète. Indique si le DomainClass donné (ou l'un de ses DomainClass de base) est marqué comme "IsCustom", ce qui signifie que la sérialisation est personnalisée.
Méthode publiqueMembre statique HasCustomTypeDescriptor Retourne la valeur true si la classe donnée a un descripteur de type personnalisé défini ; sinon false.
Méthode publiqueMembre statique HasNonAbstractBaseClass Indique si le DomainClass donné possède une classe de base non abstraite.Il est nécessaire de déterminer si un mot clé "new" doit être généré.
Méthode publiqueMembre statique IsCoreDomainModel Retourne si la classe fournie est le modèle de domaine Core
Méthode publiqueMembre statique IsElementLinkDomainClass Retourne si la classe de domaine fournie représente ElementLink.
Méthode publiqueMembre statique IsGuidType retourne la valeur true si typeName représente un GUID (System.Guid)
Méthode publiqueMembre statique IsInCoreDomainModel Retourne si la classe fournie fait partie du modèle de domaine Core
Méthode publiqueMembre statique IsLaxElementSchemaRequired Indique si une définition du type de schéma d'un élément lax est requise pour la classe
Méthode publiqueMembre statique IsModelElementDomainClass Retourne si la classe de domaine fournie représente ModelElement.
Méthode publiqueMembre statique IsMultiple retourne la valeur true si la limite supérieure de la multiplicité donnée est *
Méthode publiqueMembre statique IsOuterDecorator(DiagramElementHasDecorators) Retourne la valeur true si le lien donné connecte à un élément décoratif externe.
Méthode publiqueMembre statique IsOuterDecorator(ShapeDecoratorPosition) Retourne la valeur true si la ShapeDecorationPosition donnée est un élément décoratif externe.
Méthode publiqueMembre statique IsRootClass Si une DomainClass est une classe racine, toutes ses méthodes/propriétés liées à la sérialisation sont virtuelles (à moins qu'elle soit scellée) ; sinon, ces méthodes/propriétés sont « substituées » et appellent des implémentations de base.Actuellement, un DomainClass est une classe racine s'il dérive directement de Microsoft.VisualStudio.Modeling.ModelElement ou de Microsoft.VisualStudio.Modeling.ElementLink.
Méthode publiqueMembre statique IsStringProperty retourne la valeur true si la propriété est de type chaîne.
Méthode publiqueMembre statique IsStringType retourne la valeur true si typeName représente une chaîne (string ou System.String)
Méthode publiqueMembre statique MapToSchemaType Mappe un DomainType à son type de schéma.
Méthode publiqueMembre statique OmitElement Obtient une valeur indiquant si le DomainRelationship donné est sérialisé en tant que « OmitElement » (sans balise d'élément de rôle).
Méthode publiqueMembre statique RequiresGeneratedPropertyDescriptor Retourne la valeur true si le descripteur donné requiert la génération d'une classe dérivée PropertyDescriptor ; sinon, false.
Méthode publiqueMembre statique SortDomainClassesByInheritance<T> Trie une collection de DomainClasses en fonction des relations d'héritage relatives.La plus dérivée s'affiche en premier dans les résultats de tri.Cela est utilisé dans la situation suivante : Supposons quatre DomainClass A, B, C et D.Vous devez générer du code comme suit : …A a = obj comme A; si (a != null) …B b = obj as B; if (b != null) ...C c = obj as C; if (c != null) ...D d = obj as D; if (d != null) ... ...Si C dérive de A, le code ci-dessus est erroné ; le code approprié doit d'abord vérifier C avant A.C'est la raison pour laquelle cette méthode doit être appelée pour trier les DomainClasses par ordre d'héritage et le code généré se présentera comme : …C c = obj as C; if (c != null) ...A a = obj comme A; si (a != null) …B b = obj as B; if (b != null) ...D d = obj as D; if (d != null) ... ...
Méthode publiqueMembre statique SortProperties Trie DomainProperties selon XmlElement.Order (si spécifié).Par défaut, l'ordre de chaque propriété est 0.Les propriétés faiblement triées s'affichent en premier.Les propriétés de la même commande ne sont pas triées. (c. - à-d. elles conservent leur ordre relatif après le tri).Le tri est effectué sur place, par conséquent la collection passée sera modifiée directement.
Méthode publiqueMembre statique SortRoles Trie DomainRoles selon XmlRelationshipElement.Order (si spécifié).Par défaut, l'ordre de chaque rôle est 0.Les rôles faiblement triés s'affichent en premier.Les rôles de la même commande ne sont pas triés. (c. - à-d. ils conservent leur ordre relatif après le tri).Le tri est effectué sur place, par conséquent la collection passée sera modifiée directement.
Méthode publiqueMembre statique UseFullForm Obtient une valeur indiquant si le DomainRelationship donné est sérialisé sous une forme complète.
Méthode publiqueMembre statique WrapAsCSharpString Encapsule la chaîne donnée dans un littéral de chaîne dans la syntaxe C#.

Début

Champs

  Nom Description
Champ publicMembre statique CoreDomainModelNamespacePrefix

Début

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Modeling.DslDefinition, espace de noms