Partager via


CodeGenerationUtilities, classe

Utilitaires utilisés par les modèles de génération du 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.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.11.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 Ajoutez les chaînes de ressource utilisées par les sérialiseurs générés.La chaîne ajoutée ici ne sont pas localisées, car ils sont utilisés 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 Donné un DomainClass, calculez l'intensité d'héritage en code généré (prenant en compte des classes de base double- dérivées).Cela est utilisé pour déterminer si nous avons besoin d'un attribut SuppressMessage « pour l'héritage excessif ».
Méthode publiqueMembre statique CreateXmlNamespaceQualifiers Créez les xmlNamespaceQualifiers pour les bibliothèques dslLibrary et ses par premier niveau importées
Méthode publiqueMembre statique DefinesDiagramElements True si le DslLibrary donné définit des éléments de diagramme, sinon false.Les éléments de diagramme sont des éléments qui sont compris 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 rôle- lecteur cible que sa relation parente, ou elle peut définir un nouveau (qui dérive du rôle- lecteur rôle-lecteur cible de la relation parente).Cette méthode indique si le DomainRelationship donné définit un nouveau lecteur de rôle cible.
Méthode publiqueMembre statique GenerateFontStyle Créez la syntaxe correcte pour initialiser un style de police.
Méthode publiqueMembre statique GetAccessModifier Obtient le mot clé de modificateur d'accès de C- pour l'enum donné d'AccessModifier
Méthode publiqueMembre statique GetAttributeProperties Retourne tout le DomainProperties défini sur le DomainClass donné qui sera sérialisé en tant qu'attribut de 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, ModelElement est utilisé.
Méthode publiqueMembre statique GetBaseDomainClass Obtenez la classe de base de domaine pour la classe fournie
Méthode publiqueMembre statique GetBaseDomainClassMonikerSchemaTypeName Obtenez au moniker le nom compris dans l'étendue du schéma de type pour la classe de base de la classe donnée de domaine.
Méthode publiqueMembre statique GetBaseDomainClassMonikerTagName Obtenez le MonikerTagName pour la classe de base de la classe fournie de domaine lorsqu'elle est sérialisée comme moniker.Notez que le nom de balise ne peut pas être le même pour le moniker, car cela requerra deux définitions du même élément dans le schéma généré.Le nom par défaut utilisé (voire spécifié à l'aide de « XmlClassData.MonikerElementName »), le non- moniker sera non-moniker XmlTagName suivi de « moniker ».
Méthode publiqueMembre statique GetBaseDomainClassSchemaTypeName Obtenez le nom compris dans l'étendue du schéma de type pour la classe de base de la classe donnée de domaine.
Méthode publiqueMembre statique GetBaseDomainClassXmlTagName Obtenez le XmlTagName pour la classe de base de la classe fournie de domaine.
Méthode publiqueMembre statique GetBasePropertyHandlerName Obtient la classe de base pour le PropertyHandler pour la propriété donnée.La classe de base est différente si c'est 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, ElementLink est utilisé.
Méthode publiqueMembre statique GetBaseRole Obtient le rôle de base du rôle donné s'il existe.Sinon, il retourne null.
Méthode publiqueMembre statique GetCamelCase Conver la chaîne d'entrée à le casse mixte par la bas- casse bas-casse le premier personnage
Méthode publiqueMembre statique GetDesigner Obtenez le générateur défini dans le DslLibrary donné.
Méthode publiqueMembre statique GetDiagramElementForDecoratorMap Obtient l'élément de diagramme associé avec le mappage de forme ou de connecteur qui définit une carte de décorateur.
Méthode publiqueMembre statique GetDomainClassMonikerSchemaTypeName Obtenez au moniker le nom compris dans l'étendue du schéma de type pour la classe donnée de domaine.
Méthode publiqueMembre statique GetDomainClassMonikerTagName(DomainClass, String) Obtenez le MonikerTagName pour une classe de domaine, lorsqu'elle est sérialisée comme moniker.Notez que le nom de balise ne peut pas être le même pour le moniker, car cela requerra deux définitions du même élément dans le schéma généré.Le nom par défaut utilisé (voire spécifié à l'aide de « XmlClassData.MonikerElementName »), le non- moniker sera non-moniker XmlTagName suivi de « moniker ».
Méthode publiqueMembre statique GetDomainClassMonikerTagName(DomainClass, String, Dictionary<DslLibrary, String>) Obtenez le MonikerTagName pour une classe de domaine, lorsqu'elle est sérialisée comme moniker.Notez que le nom de balise ne peut pas être le même pour le moniker, car cela requerra deux définitions du même élément dans le schéma généré.Le nom par défaut utilisé (voire spécifié à l'aide de « XmlClassData.MonikerElementName »), le non- moniker sera non-moniker XmlTagName suivi de « moniker ».
Méthode publiqueMembre statique GetDomainClassSchemaTypeName Obtenez le nom compris dans l'étendue du schéma de type pour la classe donnée de domaine.
Méthode publiqueMembre statique GetDomainClassXmlTagName(DomainClass, String) Obtenez le XmlTagName pour une classe de domaine.
Méthode publiqueMembre statique GetDomainClassXmlTagName(DomainClass, String, Dictionary<DslLibrary, String>) Obtenez le XmlTagName pour une classe de domaine.
Méthode publiqueMembre statique GetDomainTypeFullName(DomainProperty) Obtient le nom complet du type du DomainProperty (paramètres génériques) par rapport à l'espace de noms de la classe de propriété.
Méthode publiqueMembre statique GetDomainTypeFullName(DomainType, String) Obtient le nom complet du DomainType (paramètres génériques) par rapport à l'espace de noms actuel donné.
Méthode publiqueMembre statique GetElementProperties Retourne tout le DomainProperties défini sur le DomainClass donné qui sera sérialisé en tant qu'élément XML imbriqué.
Méthode publiqueMembre statique GetGeneratedLinkAccessModifier Retourne le modificateur d'accès le plus limité de type entre passé dans DomainRelationship et son rôle de lecteurs.
Méthode publiqueMembre statique GetGeneratedPropertyGetterAccessModifier Retourne le modificateur de propriété d'accesseur Get à utiliser pour les propriétés de commande get/ensemble de la classe de DomainRelationship
Méthode publiqueMembre statique GetGeneratedPropertySetterAccessModifier Retourne le modificateur de propriété d'accesseur Set à utiliser pour les propriétés de commande get/ensemble de la classe de 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 » à la classe de nom du domaine.Sinon, la classe de nom de domaine est utilisée.
Méthode publiqueMembre statique GetGenerationInheritanceModifier Obtient le modificateur de classe d'une classe de domaine.Les retours « comme » si la classe est une double classe dérivée parce que la classe générée (classe de base) dans une paire double- dérivée est toujours abstraite
Méthode publiqueMembre statique GetGuid Retourne une chaîne du formulaire « nouveau System.Guid (xxx) » xxx où est le formulaire de chaîne du GUID donné.
Méthode publiqueMembre statique GetInheritanceModifier Obtient le mot clé de modificateur de C- pour l'enum donné d'InheritanceModifier
Méthode publiqueMembre statique GetMethodModifier Obtient le modificateur de méthode (virtuel, substitution, etc.) en 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 Retournez une propriété (dans cette ou une classe de base) qui peut être utilisée pour idenfify un élément à l'utilisateur.Retourne l'IsElementName marqué par propriété.S'il n'y en a pas, retourne l'IsMonikerKey marqué par propriété.S'il n'y en a pas, les retours null.
Méthode publiqueMembre statique GetPackageNamespace Nom de package du commande get pour le domaine (DÉSOLÉ donné.
Méthode publiqueMembre statique GetPropertyDefaultValue Retourne la chaîne pour déclarer la valeur par défaut d'une propriété (dans le formulaire « = » defaultValue
Méthode publiqueMembre statique GetPropertyDefaultValueAttribute Obtient la chaîne pour le constructeur du System.ComponentModel.DefaultValueAttribute.
Méthode publiqueMembre statique GetPropertyHandlerName Obtient le nom d'un gestionnaire de propriété pour une propriété
Méthode publiqueMembre statique GetPropertyKind Retourne la chaîne pour le genre de type de propriété pour le constructeur de DomainPropertyAttribute.
Méthode publiqueMembre statique GetPropertyRepresentation Obtenez le PropertyRepresentation (attribut, élément, ou ignoré) du DomainProperty donné.La valeur par défaut est attribut si non spécifié.
Méthode publiqueMembre statique GetPropertyTagName Obtient le nom de balise de XML du DomainProperty donné.Le nom de balise est l'un ou l'autre le nom de l'attribut de XML si la propriété est sérialisée comme attribut de XML, ou nom d'élément XML si la propriété est sérialisée comme élément XML imbriqué.
Méthode publiqueMembre statique GetRelationshipTagName Obtenez le rôle de nom d'élément de XML pour la relation donnée du rôle.Remarque : c'est le RoleElementName (si défini), pas le nom de balise de XML pour une relation de complet- formulaire complet-formulaire (qui est retournée de GetDomainClassXmlTagName ().
Méthode publiqueMembre statique GetSameNameBaseRole Retourne le rôle de base du rôle donné si elle 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 qualifié complet d'entrée de type.
Méthode publiqueMembre statique GetSegmentInputType(PathSegment, Boolean) Pour le pathSegment donné, cette méthode retourne son nom qualifié complet d'entrée de type.
Méthode publiqueMembre statique GetSegmentOutputType(PathSegment) Pour le pathSegment donné, cette méthode retourne son nom qualifié complet de type de sortie.
Méthode publiqueMembre statique GetSegmentOutputType(PathSegment, Boolean) Pour le pathSegment donné, cette méthode retourne son nom qualifié complet de type de sortie.
Méthode publiqueMembre statique GetSerializedDomainClasses Obtenez 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 de C- pour l'enum donné de TypeAccessModifier
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.C'est le rôle de plus-base qui a le même nom que ce rôle.
Méthode publiqueMembre statique GetVersionString Obtenez la version d'un DslLibrary dans le formulaire de chaîne.
Méthode publiqueMembre statique GetXmlSchemaNamespace Obtenez l'espace de noms XML pour l'utiliser pour le schéma généré
Méthode publiqueMembre statique HasCompartmentMaps True si le diagramme donné définit CompartmentMaps.
Méthode publiqueMembre statique HasCustomBaseImplementation Obsolète. Si le DomainClass donné (ou quels de sa base DomainClasses) est marqué comme « IsCustom », qui signifie la sérialisation est personnalisé.
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é a une classe de base non abstraite.Il existe nécessaire pour déterminer si un « new » mot clé doit être généré.
Méthode publiqueMembre statique IsCoreDomainModel Se retourne si la classe fournie est le principal modèle de domaine
Méthode publiqueMembre statique IsElementLinkDomainClass Se retourne si la classe fournie de domaine représente « ElementLink ».
Méthode publiqueMembre statique IsGuidType retourne la valeur true si le typeName représente un GUID («  ») System.Guid
Méthode publiqueMembre statique IsInCoreDomainModel Se retourne si la classe fournie fait partie du principal modèle de domaine
Méthode publiqueMembre statique IsLaxElementSchemaRequired Si une définition de type comprise dans l'étendue du schéma d'élément exécution est requise pour la classe
Méthode publiqueMembre statique IsModelElementDomainClass Se retourne si la classe fournie de domaine 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é se connecte à un élément décoratif externe.
Méthode publiqueMembre statique IsOuterDecorator(ShapeDecoratorPosition) Retourne la valeur true si le ShapeDecorationPosition donné est un élément décoratif externe.
Méthode publiqueMembre statique IsRootClass Si un DomainClass est une classe racine, toutes ses méthodes/propriétés sérialisation- mises en relation sont virtuelles (à moins qu'elle a sealed) ; sinon, ces méthodes/propriétés seront « substitution » et appelleront les implémentations de base.Actuellement, un DomainClass est une classe racine s'il dérive de Microsoft.VisualStudio.Modeling.ModelElement ou de Microsoft.VisualStudio.Modeling.ElementLink directement.
Méthode publiqueMembre statique IsStringProperty retourne la valeur true si la propriété est de chaîne de type.
Méthode publiqueMembre statique IsStringType retourne la valeur true si le typeName représente une chaîne (« chaîne » ou « System.String »)
Méthode publiqueMembre statique MapToSchemaType Mappez un DomainType à son type compris dans l'étendue du schéma.
Méthode publiqueMembre statique OmitElement Obtient une valeur indiquant si le DomainRelationship donné est sérialisé en tant que « OmitElement » (sans rôle de balise d'élément).
Méthode publiqueMembre statique RequiresGeneratedPropertyDescriptor Retourne la valeur true si le descripteur donné requiert une classe dérivée de PropertyDescriptor à générer, sinon false.
Méthode publiqueMembre statique SortDomainClassesByInheritance<T> Triez une collection de DomainClasses selon des relations relatives d'héritage.Le plus dérivé s'affiche d'abord dans le résultat de tri.Cela est utilisé dans la situation suivante : Supposons que de 4 DomainClasses Un, B, C et D.Vous devez générer du code comme suivante : …A = obj comme Un ; si a (! = null)…B b = obj comme B ; si (b ! = null)…C c = obj comme C ; si (c ! = null)…D = d obj comme D ; si (d ! = null)…...Si C dérive d'Un, code ci-dessus est erroné ; code correct doit vérifier C d'abord avant la recherche de l'A.C'est pourquoi cette méthode doit être appelée a trié le DomainClasses dans la commande d'héritage, et code généré apparence ressemblera : …C c = obj comme C ; si (c ! = null)…A = obj comme Un ; si a (! = null)…B b = obj comme B ; si (b ! = null)…D = d obj comme D ; si (d ! = null)…...
Méthode publiqueMembre statique SortProperties DomainProperties de tri selon XmlElement.Order (si spécifié).Par défaut, la commande de chaque propriété est 0.Les propriétés avec la commande s'affichent en premier.Des propriétés de la même commande ne seront pas triées. (c. - à-d.ils conserveront leur commande relative après l'avoir trié).Le tri est sur place, donc la collection passée sera modifiée directement.
Méthode publiqueMembre statique SortRoles DomainRoles de tri selon XmlRelationshipElement.Order (si spécifié).Par défaut, la commande de chaque rôle est 0.Les rôles avec la commande s'affichent en premier.Des rôles de la même commande ne seront pas triés. (c. - à-d.ils conserveront leur commande relative après l'avoir trié).Le tri est sur place, donc la collection passée sera modifiée directement.
Méthode publiqueMembre statique UseFullForm Obtient une valeur indiquant si le DomainRelationship donné est sérialisé dans le complet- formulaire complet-formulaire.
Méthode publiqueMembre statique WrapAsCSharpString Encapsulez la chaîne donnée dans un littéral de chaîne en syntaxe de 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