Freigeben über


CodeGenerationUtilities-Klasse

Hilfsprogramme, die von Vorlagen zur Codegenerierung verwendet werden

Vererbungshierarchie

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

Namespace:  Microsoft.VisualStudio.Modeling.DslDefinition
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0.dll)

Syntax

'Declaration
Public NotInheritable Class CodeGenerationUtilities
public static class CodeGenerationUtilities

Der CodeGenerationUtilities-Typ macht die folgenden Member verfügbar.

Methoden

  Name Beschreibung
Öffentliche MethodeStatischer Member AddSerializationResourceStrings Fügen Sie die Ressourcenzeichenfolgen hinzu, die von generierten Serialisierungsprogramme verwendet werden.Die Zeichenfolgen, die hier hinzugefügt werden, werden nicht lokalisiert, da sie verwendet werden, um eine resx-Datei zu generieren, die lokalisiert wird.
Öffentliche MethodeStatischer Member AllowMultiple Ruft ab, ob die angegebene Rolle mehrere Instanzen auf Grundlage der Multiplizität zulässt.
Öffentliche MethodeStatischer Member CalculateInheritanceDepth Wenn eine DomainClass vorliegt, Vererbungstiefe im generierten Code berechnen (unter Berücksichtigung von doppelt abgeleiteten Basisklassen).Dies wird verwendet, um zu bestimmen, ob wir ein SuppressMessage-Attribut für "übermäßige Vererbung" benötigen.
Öffentliche MethodeStatischer Member CreateXmlNamespaceQualifiers Erstellen Sie xmlNamespaceQualifiers für die dslLibrary und ihre auf der ersten Ebene importierten Bibliotheken
Öffentliche MethodeStatischer Member DefinesDiagramElements "True", wenn die angegebene DslLibrary Diagrammelemente definiert; andernfalls "False".Diagrammelemente sind Elemente, die in DslLibrary.DiagramElements enthalten sind, zusätzlich Diagramm (sofern definiert).
Öffentliche MethodeStatischer Member DefinesNewTargetRole Bei einer Beziehungsableitung kann eine Beziehung denselben Zielrolleninhaber wie die übergeordnete Beziehung verwenden. Sie kann aber auch einen neuen definieren (der vom Zielrolleninhaber der übergeordneten Beziehung abgeleitet ist).Diese Methode gibt an, ob die angegebene DomainRelationship einen neuen Zielrolleninhaber definiert.
Öffentliche MethodeStatischer Member GenerateFontStyle Erstellen Sie die richtige Syntax für das Initialisieren eines Formats der Schriftart.
Öffentliche MethodeStatischer Member GetAccessModifier Ruft das Schlüsselwort des C#-Zugriffsmodifizierers für die angegebene AccessModifier-Enumeration ab.
Öffentliche MethodeStatischer Member GetAttributeProperties Gibt alle DomainProperties zurück, die bei der angegebenen DomainClass definiert sind, und als geschachteltes XML-Attribut serialisiert werden.
Öffentliche MethodeStatischer Member GetBaseClass Ruft die Zeichenfolge für das Deklarieren der Basisklasse eine Domänenklasse ab.Wenn die Basisklasse nicht definiert ist, wird ModelElement verwendet.
Öffentliche MethodeStatischer Member GetBaseDomainClass Ruft die Basisdomänenklasse für die angegebene Klasse ab.
Öffentliche MethodeStatischer Member GetBaseDomainClassMonikerSchemaTypeName Ruft den Monikerschema-Typnamen für die Basisklasse der angegebenen Domänenklasse ab.
Öffentliche MethodeStatischer Member GetBaseDomainClassMonikerTagName Ruft MonikerTagName für eine Basisklasse der angegebenen Domänenklasse ab, wenn es als Moniker serialisiert ist.Beachten Sie, dass der Tagname nicht derselbe für Moniker sein kann, da dies zwei Definitionen des gleichen Elements im generierten Schema erfordert.Der Standardname, der verwendet wird (wenn nicht "XmlClassData.MonikerElementName" angegeben ist), ist der XmlTagName, der nicht der Moniker-Name ist, gefolgt von "Moniker".
Öffentliche MethodeStatischer Member GetBaseDomainClassSchemaTypeName Ruft den Schematypnamen für die Basisklasse der angegebenen Domänenklasse ab.
Öffentliche MethodeStatischer Member GetBaseDomainClassXmlTagName Ruft XmlTagName für die Basisklasse der angegebenen Domänenklasse ab.
Öffentliche MethodeStatischer Member GetBasePropertyHandlerName Ruft die Basisklasse für den PropertyHandler für die angegebene Eigenschaft ab.Die Basisklasse ist unterschiedlich, wenn es sich um eine berechnete Eigenschaft handelt.
Öffentliche MethodeStatischer Member GetBaseRelationship Ruft die Zeichenfolge für das Deklarieren der Basisbeziehung eines Domänen-Verhältnisses ab.Wenn die Basisklasse nicht definiert ist, wird ElementLink verwendet.
Öffentliche MethodeStatischer Member GetBaseRole Ruft die Basisrolle der angegebenen Rolle ab, sofern vorhanden.Gibt NULL zurück, wenn nicht gefunden.
Öffentliche MethodeStatischer Member GetCamelCase Konvertierung der Eingabezeichenfolge zu Höckerschreibweise, indem das erste Zeichen klein geschrieben wird
Öffentliche MethodeStatischer Member GetDesigner Ruft den Designer ab, der im angegebenen DslLibrary definiert ist.
Öffentliche MethodeStatischer Member GetDiagramElementForDecoratorMap Ruft das Diagrammelement ab, das der Form- oder Konnektorzuordnung zugeordnet ist, die eine Decoratorzuordnung definiert.
Öffentliche MethodeStatischer Member GetDomainClassMonikerSchemaTypeName Ruft den Monikerschema-Typnamen für die angegebene Domänenklasse ab.
Öffentliche MethodeStatischer Member GetDomainClassMonikerTagName(DomainClass, String) Ruft MonikerTagName für eine Domänenklasse ab, wenn es als Moniker serialisiert ist.Beachten Sie, dass der Tagname nicht derselbe für Moniker sein kann, da dies zwei Definitionen des gleichen Elements im generierten Schema erfordert.Der Standardname, der verwendet wird (wenn nicht "XmlClassData.MonikerElementName" angegeben ist), ist der XmlTagName, der nicht der Moniker-Name ist, gefolgt von "Moniker".
Öffentliche MethodeStatischer Member GetDomainClassMonikerTagName(DomainClass, String, Dictionary<DslLibrary, String>) Ruft MonikerTagName für eine Domänenklasse ab, wenn es als Moniker serialisiert ist.Beachten Sie, dass der Tagname nicht derselbe für Moniker sein kann, da dies zwei Definitionen des gleichen Elements im generierten Schema erfordert.Der Standardname, der verwendet wird (wenn nicht "XmlClassData.MonikerElementName" angegeben ist), ist der XmlTagName, der nicht der Moniker-Name ist, gefolgt von "Moniker".
Öffentliche MethodeStatischer Member GetDomainClassSchemaTypeName Ruft den Schematypnamen für die angegebene Domänenklasse ab.
Öffentliche MethodeStatischer Member GetDomainClassXmlTagName(DomainClass, String) Ruft XmlTagName für eine Domänenklasse ab.
Öffentliche MethodeStatischer Member GetDomainClassXmlTagName(DomainClass, String, Dictionary<DslLibrary, String>) Ruft XmlTagName für eine Domänenklasse ab.
Öffentliche MethodeStatischer Member GetDomainTypeFullName(DomainProperty) Ruft den vollständigen Namen des Typs der DomainProperty (einschließlich generischer Parameter) relativ zum Namespace der Klasse der Eigenschaft ab.
Öffentliche MethodeStatischer Member GetDomainTypeFullName(DomainType, String) Ruft den vollständigen Namen des DomainType (einschließlich generischer Parameter) relativ zum angegebenen aktuellen Namespace ab.
Öffentliche MethodeStatischer Member GetElementProperties Gibt alle DomainProperties zurück, die bei der angegebenen DomainClass definiert sind, und als geschachteltes XML-Element serialisiert werden.
Öffentliche MethodeStatischer Member GetGeneratedLinkAccessModifier Gibt den Typzugriffsmodifizierer zurück, der von denen, die in DomainRelationship und seinen Rolleninhabern übergeben wurden, am stärksten begrenzt ist.
Öffentliche MethodeStatischer Member GetGeneratedPropertyGetterAccessModifier Gibt den Getter-Eigenschaftsmodifizierer zurück, der für die Get/Set-Eigenschaften in der DomainRelationship-Klasse verwendet werden soll
Öffentliche MethodeStatischer Member GetGeneratedPropertySetterAccessModifier Gibt den Setter-Eigenschaftsmodifizierer zurück, der für die Get/Set-Eigenschaften in der DomainRelationship-Klasse verwendet werden soll
Öffentliche MethodeStatischer Member GetGenerationClassName Gibt den Namen der zu generierenden Klasse.Bei einer doppelt abgeleiteten Klasse wird "Base" zum Namen der Domänenklasse hinzugefügt.Wenn dies nicht der Fall ist, wird der Name der Domänenklasse verwendet.
Öffentliche MethodeStatischer Member GetGenerationInheritanceModifier Ruft den Klassenmodifizierer für eine Domänenklasse ab.Gibt "abstract" zurück, wenn die Klasse eine doppelt abgeleitete Klasse ist, weil die generierte Klasse (Basisklasse) in einem doppelt abgeleiteten Paar immer abstrakt ist
Öffentliche MethodeStatischer Member GetGuid Gibt eine Zeichenfolge der Form "new System.Guid(xxx)" zurück, wobei xxx die Zeichenfolgenform der angegebenen GUID ist.
Öffentliche MethodeStatischer Member GetInheritanceModifier Ruft das Schlüsselwort des C#-Modifizierers für die angegebene InheritanceModifier-Enumeration ab.
Öffentliche MethodeStatischer Member GetMethodModifier Ruft den Methodenmodifizierer (virtuell, überschreiben usw.) in generiertem Code mit den angegebenen Parametern ab.
Öffentliche MethodeStatischer Member GetModelElementDomainClass Gibt die DomainClass zurück, die ModelElement darstellt
Öffentliche MethodeStatischer Member GetNameProperty Rückgabe einer Eigenschaft (in dieser oder in einer Basisklasse) zurück, die verwendet werden kann, um ein Element des Benutzers zu identifizieren.Gibt die als IsElementName gekennzeichnete Eigenschaft zurück.Wenn keine vorhanden ist, wird die als IsMonikerKey markierte Eigenschaft zurückgegeben.Wenn keine vorhanden sind, wird NULL zurückgegeben.
Öffentliche MethodeStatischer Member GetPackageNamespace Ruft den Dsl-Paketnamen für den angegebenen DSL ab.
Öffentliche MethodeStatischer Member GetPropertyDefaultValue Gibt die Zeichenfolge zum Deklarieren des Standardwerts einer Eigenschaft zurück (im Format "= defaultValue"
Öffentliche MethodeStatischer Member GetPropertyDefaultValueAttribute Ruft die Zeichenfolge für den Konstruktor des System.ComponentModel.DefaultValueAttribute ab.
Öffentliche MethodeStatischer Member GetPropertyHandlerName Ruft den Namen eines Eigenschaftenhandlers für eine Eigenschaft ab
Öffentliche MethodeStatischer Member GetPropertyKind Gibt die Zeichenfolge für die Art der Art der Eigenschaft für den DomainPropertyAttribute-Konstruktor zurück.
Öffentliche MethodeStatischer Member GetPropertyRepresentation Ruft PropertyRepresentation (Attribut, Element oder ignoriert) des angegebenen DomainProperty ab.Der Standardwert ist Attribut, wenn nichts anderes angegeben wird.
Öffentliche MethodeStatischer Member GetPropertyTagName Ruft den XML-Tagnamen der angegebenen DomainProperty ab.Der Tagname ist entweder der XML-Attributname, wenn die Eigenschaft als XML-Attribut serialisiert wird, oder der XML-Elementname, wenn die Eigenschaft als geschachteltes XML-Element serialisiert wird.
Öffentliche MethodeStatischer Member GetRelationshipTagName Ruft den Elementnamen der XML-Rolle für die Beziehung der angegebenen Rolle ab.Hinweis: Dies ist der RoleElementName (falls definiert), nicht der XML-Tagname für eine Beziehung im vollständigen Format (die aus GetDomainClassXmlTagName() zurückgegeben wird).
Öffentliche MethodeStatischer Member GetSameNameBaseRole Gibt die Basisrolle der angegebenen Rolle zurück, wenn sie denselben Namen wie die angegebene Rolle aufweist
Öffentliche MethodeStatischer Member GetSegmentInputType(PathSegment) Für das angegebene pathSegment gibt diese Methode die Eingabe des vollqualifizierten Typnamen zurück.
Öffentliche MethodeStatischer Member GetSegmentInputType(PathSegment, Boolean) Für das angegebene pathSegment gibt diese Methode die Eingabe des vollqualifizierten Typnamen zurück.
Öffentliche MethodeStatischer Member GetSegmentOutputType(PathSegment) Für das angegebene pathSegment gibt diese Methode die Ausgabe des vollqualifizierten Typnamen zurück.
Öffentliche MethodeStatischer Member GetSegmentOutputType(PathSegment, Boolean) Für das angegebene pathSegment gibt diese Methode die Ausgabe des vollqualifizierten Typnamen zurück.
Öffentliche MethodeStatischer Member GetSerializedDomainClasses Rufen Sie eine Liste aller DomainClasses im angegebenen DslLibrary ab, das die generierte Serialisierungsprogramme enthält.
Öffentliche MethodeStatischer Member GetTypeAccessModifier Ruft das Schlüsselwort des C#-Zugriffsmodifizierers für die angegebene TypeAccessModifier-Enumeration ab.
Öffentliche MethodeStatischer Member GetTypeRole Ruft die Rolle ab, die den Typ der generierten Eigenschaft für diese Rolle bestimmt.Dies ist die meistbasierte Rolle, die den gleichen Namen wie diese Rolle hat.
Öffentliche MethodeStatischer Member GetVersionString Ruft die Version aus DslLibrary im Zeichenfolgenformat ab.
Öffentliche MethodeStatischer Member GetXmlSchemaNamespace Ruft den XML-Namespace ab, der für das generierte Schema verwendet werden soll.
Öffentliche MethodeStatischer Member HasCompartmentMaps "True", wenn das angegebene Diagramm CompartmentMaps definiert.
Öffentliche MethodeStatischer Member HasCustomBaseImplementation Veraltet. Gibt an, ob das angegebene DomainClass (oder eines ihrer DomainClasses-Basisklassen) als "IsCustom" gekennzeichnet ist, das heißt die Serialisierung ist angepasst.
Öffentliche MethodeStatischer Member HasCustomTypeDescriptor Gibt "true" zurück, wenn die angegebene Klasse über einen festgelegten benutzerdefinierten Typdeskriptor verfügt; andernfalls "false".
Öffentliche MethodeStatischer Member HasNonAbstractBaseClass Meldet, ob die angegebene DomainClass über eine nicht abstrakte Basisklasse verfügt.Es muss ermittelt werden, ob ein "neues" Schlüsselwort generiert werden muss.
Öffentliche MethodeStatischer Member IsCoreDomainModel Gibt zurück, ob die angegebene Klasse das zentrale Domänenmodell ist
Öffentliche MethodeStatischer Member IsElementLinkDomainClass Gibt zurück, ob die angegebene Domänenklasse "ElementLink" darstellt.
Öffentliche MethodeStatischer Member IsGuidType gibt "true" zurück, wenn typeName GUID darstellt ("System.Guid")
Öffentliche MethodeStatischer Member IsInCoreDomainModel Gibt zurück, ob die angegebene Klasse Teil des zentralen Domänenmodells ist
Öffentliche MethodeStatischer Member IsLaxElementSchemaRequired Ob eine weniger strenge Schematypdefinition für die Klasse erforderlich ist
Öffentliche MethodeStatischer Member IsModelElementDomainClass Gibt zurück, ob die angegebene Domänenklasse "ModelElement" darstellt.
Öffentliche MethodeStatischer Member IsMultiple Gibt "true" zurück, wenn die obere Grenze der angegebenen Multiplizität * ist
Öffentliche MethodeStatischer Member IsOuterDecorator(DiagramElementHasDecorators) Gibt "true" zurück, wenn sich der angegebene Link mit einem äußeren Decorator-Element verbindet.
Öffentliche MethodeStatischer Member IsOuterDecorator(ShapeDecoratorPosition) Gibt "true" zurück, wenn die angegebene ShapeDecorationPosition ein äußeres Decorator-Element ist.
Öffentliche MethodeStatischer Member IsRootClass Wenn ein DomainClass eine Stammklasse ist, sind alle ihre serialisierungsverknüpften Methoden und Eigenschaften virtuell (es sei denn, sie sind versiegelt); andernfalls sind diese Methoden und Eigenschaften "override" und rufen Basisimplementierungen an.Derzeit ist ein DomainClass eine Stammklasse, wenn aus Microsoft.VisualStudio.Modeling.ModelElement oder Microsoft.VisualStudio.Modeling.ElementLink direkt abgeleitet ist.
Öffentliche MethodeStatischer Member IsStringProperty Gibt "true" zurück, wenn die Eigenschaft ein Zeichenfolgentyp ist.
Öffentliche MethodeStatischer Member IsStringType gibt "true" zurück, wenn typeName eine Zeichenfolge darstellt ("String" oder "System.String")
Öffentliche MethodeStatischer Member MapToSchemaType Zuordnung eines DomainType zu seinem Schematyp.
Öffentliche MethodeStatischer Member OmitElement Ruft ab, ob die angegebene DomainRelationship als "OmitElement" serialisiert wird (ohne das Rollenelementtag).
Öffentliche MethodeStatischer Member RequiresGeneratedPropertyDescriptor Gibt "true" zurück, wenn der angegebene Deskriptor das Generieren einer PropertyDescriptor-abgeleiteten Klasse erfordert; andernfalls "false".
Öffentliche MethodeStatischer Member SortDomainClassesByInheritance<T> Eine Auflistung von DomainClasses auf Grundlage der relativen Vererbungsbeziehungen sortieren.Die am häufigsten abgeleitete wird zuerst im Sortierergebnis angezeigt.Dies wird in der folgenden Situation verwendet: Sagen wir, es gibt 4 DomainClasses, A, B, C und D.Sie müssen Code wie den Folgenden generieren: …A a = obj as A; if (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) ... ...Wenn C von A abgeleitet ist, ist der obige Code falsch. Der korrekte Code sollte nach C zuerst überprüfen, bevor er nach A überprüft.Daher sollte diese Methode aufgerufen werden, um die DomainClasses in der Reihenfolge der Vererbung zu sortieren, wobei der generierte Code wie folgt aussehen wird: …C c = obj as C; if (c != null) ...A a = obj as A; if (a != null) ...B b = obj as B; if (b != null) ...D d = obj as D; if (d != null) ... ...
Öffentliche MethodeStatischer Member SortProperties DomainProperties auf Grundlage von XmlElement.Order (sofern angegeben) sortieren.Standardmäßig ist die Reihenfolge der einzelnen Eigenschaften 0.Eigenschaften mit kleinerer Reihenfolge werden zuerst angezeigt.Eigenschaften werden der Reihenfolge nicht sortiert (h. sie halten deren relative Reihenfolge, nach der sortiert haben).Die Sortierung erfolgt direkt, daher wird die übergebene Auflistung direkt geändert.
Öffentliche MethodeStatischer Member SortRoles DomainRoles auf Grundlage von XmlRelationshipElement.Order (sofern angegeben) sortieren.Standardmäßig ist die Reihenfolge der einzelnen Rollen 0.Rollen mit kleinerer Reihenfolge werden zuerst angezeigt.Rollen der Reihenfolge nicht sortiert werden (d h. sie halten deren relative Reihenfolge, nach der sortiert haben).Die Sortierung erfolgt direkt, daher wird die übergebene Auflistung direkt geändert.
Öffentliche MethodeStatischer Member UseFullForm Ruft ab, ob die angegebene DomainRelationship im vollständigen Format serialisiert wird.
Öffentliche MethodeStatischer Member WrapAsCSharpString Umschließen der angegebenen Zeichenfolge in ein Zeichenfolgenliteral in C#-Syntax.

Zum Seitenanfang

Felder

  Name Beschreibung
Öffentliches FeldStatischer Member CoreDomainModelNamespacePrefix

Zum Seitenanfang

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling.DslDefinition-Namespace