CodeGenerationUtilities 類別
程式碼產生範本所使用的公用程式
繼承階層架構
System.Object
Microsoft.VisualStudio.Modeling.DslDefinition.CodeGenerationUtilities
命名空間: Microsoft.VisualStudio.Modeling.DslDefinition
組件: Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.11.0 (在 Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.11.0.dll 中)
語法
'宣告
Public NotInheritable Class CodeGenerationUtilities
public static class CodeGenerationUtilities
CodeGenerationUtilities 型別會公開下列成員。
方法
名稱 | 說明 | |
---|---|---|
AddSerializationResourceStrings | 將產生的序列化程式所使用的資源字串。在此新增的字串並未當地語系化,因為它們用來產生 resx 檔案,將當地語系化。 | |
AllowMultiple | 取得指定的角色允許多個執行個體,根據其多樣性。 | |
CalculateInheritanceDepth | 有了 DomainClass,計算產生的程式碼 (但需考量的雙衍生的基底類別) 的繼承深度。這用來判斷我們是否需要 「 過度繼承 」 的 SuppressMessage 屬性。 | |
CreateXmlNamespaceQualifiers | 建立 xmlNamespaceQualifiers 的 dslLibrary 和其第一層級的匯入程式庫 | |
DefinesDiagramElements | 如果指定的 DslLibrary 會定義否則圖表項目,則為 false,則為 true。圖表項目是 (如果有定義),DslLibrary.DiagramElements,加上圖中所包含的項目。 | |
DefinesNewTargetRole | 在關聯性衍生關聯性可以使用相同的目標角色扮演者,其父代關聯性,或是用來定義一個新 (這是衍生自父代關聯性的目標角色扮演者時)。這個方法會告知是否指定的 DomainRelationship 會定義新的目標角色位玩家。 | |
GenerateFontStyle | 建立正確的語法來初始化的字型樣式。 | |
GetAccessModifier | 取得指定的 AccessModifier 列舉的 C# 存取修飾詞關鍵字 | |
GetAttributeProperties | 傳回所有的 DomainProperties 上將會序列化為 XML 屬性指定 DomainClass 所定義。 | |
GetBaseClass | 取得宣告網域類別的基底類別的字串。如果沒有定義基底類別,則會使用 ModelElement。 | |
GetBaseDomainClass | 取得所提供的類別的基底網域類別 | |
GetBaseDomainClassMonikerSchemaTypeName | 取得指定的網域類別的基底類別的 moniker 結構描述型別名稱。 | |
GetBaseDomainClassMonikerTagName | 取得的 MonikerTagName 基底類別的類別,提供的網域時,它會序列化成 moniker。請注意標籤名稱不可以是相同的 moniker,因為必須相同的項目,產生的結構描述中的兩個定義。預設的名稱使用 (如果未指定使用"XmlClassData.MonikerElementName"),後面會有非-moniker XmlTagName"Moniker"。 | |
GetBaseDomainClassSchemaTypeName | 取得指定的網域類別的基底類別的結構描述型別名稱。 | |
GetBaseDomainClassXmlTagName | 取得基底類別的類別,提供的網域中的 XmlTagName。 | |
GetBasePropertyHandlerName | 取得 PropertyHandler,則指定屬性的基底類別。基底類別是不同,如果是計算的屬性。 | |
GetBaseRelationship | 取得宣告基底網域關聯性的關聯性的字串。如果沒有定義基底類別,則會使用中繼角色。 | |
GetBaseRole | 如果有的話,請取得指定角色的基底的角色。否則,就會傳回 null。 | |
GetCamelCase | Conver camel 命名法的大小寫,以較低大小寫的第一個字元的輸入字串 | |
GetDesigner | 取得指定的 DslLibrary 所述的設計工具。 | |
GetDiagramElementForDecoratorMap | 取得與定義裝飾圖的圖案或連接線對應關聯的圖表項目。 | |
GetDomainClassMonikerSchemaTypeName | 取得指定的網域類別 moniker 結構描述型別名稱。 | |
GetDomainClassMonikerTagName(DomainClass, String) | 它會序列化成 moniker 時,則您可以取得網域類別,MonikerTagName。請注意標籤名稱不可以是相同的 moniker,因為必須相同的項目,產生的結構描述中的兩個定義。預設的名稱使用 (如果未指定使用"XmlClassData.MonikerElementName"),後面會有非-moniker XmlTagName"Moniker"。 | |
GetDomainClassMonikerTagName(DomainClass, String, Dictionary<DslLibrary, String>) | 它會序列化成 moniker 時,則您可以取得網域類別,MonikerTagName。請注意標籤名稱不可以是相同的 moniker,因為必須相同的項目,產生的結構描述中的兩個定義。預設的名稱使用 (如果未指定使用"XmlClassData.MonikerElementName"),後面會有非-moniker XmlTagName"Moniker"。 | |
GetDomainClassSchemaTypeName | 取得指定的網域類別的結構描述型別名稱。 | |
GetDomainClassXmlTagName(DomainClass, String) | 取得網域類別中的 XmlTagName。 | |
GetDomainClassXmlTagName(DomainClass, String, Dictionary<DslLibrary, String>) | 取得網域類別中的 XmlTagName。 | |
GetDomainTypeFullName(DomainProperty) | 取得相對於該屬性的類別的命名空間的型別 (包括泛用參數) 的 DomainProperty 的完整名稱。 | |
GetDomainTypeFullName(DomainType, String) | 取得相對於指定目前的命名空間的 DomainType (包括泛用參數) 的完整名稱。 | |
GetElementProperties | 傳回在指定的 DomainClass,將會序列化為巢狀 XML 項目上定義的所有 DomainProperties。 | |
GetGeneratedLinkAccessModifier | 傳回最受限的型別存取修飾詞之間傳遞 DomainRelationship 和它的角色執行者。 | |
GetGeneratedPropertyGetterAccessModifier | 傳回要用於 DomainRelationship 類別中的取得/設定屬性的 getter 屬性修飾詞 | |
GetGeneratedPropertySetterAccessModifier | 傳回要用於 DomainRelationship 類別中的取得/設定屬性的 set 存取子屬性修飾詞 | |
GetGenerationClassName | 傳回要產生之類別的名稱。如果是雙衍生類別中,我們加入 'Base' 網域類別的名稱。否則,會使用網域類別名稱。 | |
GetGenerationInheritanceModifier | 取得網域類別的類別修飾詞。傳回 「 抽象 」 如果 double 衍生的類別,因為在雙衍生組產生的類別 (基底類別) 永遠是抽象類別 | |
GetGuid | 傳回表單 」 新的 System.Guid(xxx)"的字串,其中 xxx 是指定 guid 的字串格式。 | |
GetInheritanceModifier | 取得位於指定的 InheritanceModifier 列舉的 C# 修飾詞關鍵字 | |
GetMethodModifier | 取得方法修飾詞 (虛擬、 覆寫,等等) 在產生的程式碼,以提供的參數。 | |
GetModelElementDomainClass | 傳回代表 ModelElement DomainClass | |
GetNameProperty | 傳回某一屬性 (在這或基底類別),可用來 idenfify 給使用者的項目。傳回的屬性標記 IsElementName。如果沒有任何索引,傳回屬性標記 IsMonikerKey。如果沒有任何索引,會傳回 null。 | |
GetPackageNamespace | 取得特定 Dsl 的 Dsl 封裝名稱。 | |
GetPropertyDefaultValue | 傳回字串,來宣告預設屬性的值 (以表單"= 預設值]" | |
GetPropertyDefaultValueAttribute | 取得 System.ComponentModel.DefaultValueAttribute 的建構函式的字串。 | |
GetPropertyHandlerName | 取得屬性的屬性處理常式的名稱 | |
GetPropertyKind | 傳回字串的一種 DomainPropertyAttribute 的建構函式的屬性類型。 | |
GetPropertyRepresentation | 取得指定的 DomainProperty PropertyRepresentation (屬性、 項目或已略過)。如果未指定,預設值為屬性。 | |
GetPropertyTagName | 取得指定的 DomainProperty 的 XML 標記名稱。標記名稱會是 XML 屬性名稱,如果屬性已序列化為 XML 屬性或 XML 項目名稱屬性會序列化為巢狀的 XML 項目。 | |
GetRelationshipTagName | 取得指定的角色的關聯性的 XML 角色項目名稱。注意: 這是 RoleElementName (如果有定義),不是 XML 標記名稱的完整形式關聯性 (這會傳回 GetDomainClassXmlTagName())。 | |
GetSameNameBaseRole | 如有指定的角色名稱相同,傳回指定角色的基底的角色 | |
GetSegmentInputType(PathSegment) | 指定的 pathSegment 中,這個方法會傳回其輸入完全符合規定的型別名稱。 | |
GetSegmentInputType(PathSegment, Boolean) | 指定的 pathSegment 中,這個方法會傳回其輸入完全符合規定的型別名稱。 | |
GetSegmentOutputType(PathSegment) | 指定的 pathSegment 中,這個方法會傳回它的輸出完全合格的型別名稱。 | |
GetSegmentOutputType(PathSegment, Boolean) | 指定的 pathSegment 中,這個方法會傳回它的輸出完全合格的型別名稱。 | |
GetSerializedDomainClasses | 取得一份所有的 DomainClasses 中指定的 DslLibrary 所產生的序列化程式。 | |
GetTypeAccessModifier | 取得指定的 TypeAccessModifier 列舉的 C# 存取修飾詞關鍵字 | |
GetTypeRole | 取得角色會決定針對此角色已產生屬性的型別。這是最基本角色相同的名稱,與這個角色。 | |
GetVersionString | 取得字串形式的 DslLibrary 的版本。 | |
GetXmlSchemaNamespace | 取得用於產生結構描述的 XML 命名空間 | |
HasCompartmentMaps | 指定的圖表會定義 CompartmentMaps,其值為 true。 | |
HasCustomBaseImplementation | 已過時。是否在指定的 DomainClass (或任何其基底的 DomainClasses) 標示為"IsCustom",這表示序列化自訂。 | |
HasCustomTypeDescriptor | 如果指定的類別會有否則自訂型別描述項已定義,則為 false,則傳回 true。 | |
HasNonAbstractBaseClass | 指示指定的 DomainClass 是否具有非抽象的基底類別。那里需要,才能判斷是否需要產生"new"關鍵字。 | |
IsCoreDomainModel | 傳回所提供的類別是否核心的網域模型 | |
IsElementLinkDomainClass | 傳回所提供的網域類別是否代表 「 中繼角色 」。 | |
IsGuidType | 傳回如果 typeName 表示 Guid ("System.Guid"),則為 true。 | |
IsInCoreDomainModel | 傳回所提供的類別是否核心網域模型的一部份 | |
IsLaxElementSchemaRequired | 鬆散的項目結構描述型別定義是否需要類別 | |
IsModelElementDomainClass | 傳回所提供的網域類別是否代表"ModelElement"。 | |
IsMultiple | 會傳回 true,如果指定的重數上限為 * | |
IsOuterDecorator(DiagramElementHasDecorators) | 如果指定的連結會連接至外部的裝飾,就會傳回 true。 | |
IsOuterDecorator(ShapeDecoratorPosition) | 如果指定的 ShapeDecorationPosition 是外部的裝飾,就會傳回 true。 | |
IsRootClass | 如果 DomainClass 是一個根類別,所有相關的序列化方法/內容將會是虛擬 (除非它密封) 的 ; 否則,這些方法/屬性將會 「 覆寫 」,並會呼叫基底實作。目前,DomainClass 是一個根類別,如果其直接衍生自 Microsoft.VisualStudio.Modeling.ModelElement 或 Microsoft.VisualStudio.Modeling.ElementLink。 | |
IsStringProperty | 會傳回 true,如果屬性為 string 型別。 | |
IsStringType | 傳回如果 typeName 代表字串 ("string"或"System.String"),則為 true。 | |
MapToSchemaType | 將 DomainType 對應到它的結構描述型別。 | |
OmitElement | 取得如果指定的 DomainRelationship 會序列化為"OmitElement"(不含角色項目標記中)。 | |
RequiresGeneratedPropertyDescriptor | 如果指定的描述項要求的 PropertyDescriptor 就會傳回 true 衍生的類別,否則會產生,則為 false。 | |
SortDomainClassesByInheritance<T> | 排序的 DomainClasses 集合會根據相對的繼承關係。最具衍生性的其中一個會出現在排序結果的第一個。這用在下列情況: 假設您有正在 4 DomainClasses A、 B、 C 和 d。您必須產生一些程式碼如下:...A = obj 為 A; 如果 (! = null,則)...B b = obj 為 B。 如果 (b! = null,則)...C c = obj 為 C; 如果 (c! = null,則)...D d = obj 是 D。 如果 (d! = null,則)......C 衍生自 a,上面的程式碼錯誤; 正確的程式碼應該要檢查 c 先檢查之前為 a。這就是為什麼應該呼叫這個方法會為已排序的 DomainClasses 為了繼承,而且產生的程式碼會看起來像:...C c = obj 為 C; 如果 (c! = null,則)...A = obj 為 A; 如果 (! = null,則)...B b = obj 為 B。 如果 (b! = null,則)...D d = obj 是 D。 如果 (d! = null,則)...... | |
SortProperties | 排序 DomainProperties 根據 XmlElement.Order (若有指定)。根據預設,每個屬性的順序為 0。較小的順序的內容會顯示第一個項目。相同的順序的屬性將會做排序 (亦即他們想把它們的相對順序排序後)。就地,所以直接將會變成傳入之集合的排序時。 | |
SortRoles | 排序 DomainRoles 根據 XmlRelationshipElement.Order (若有指定)。根據預設,每個角色的順序為 0。較小的順序與角色最先出現。角色相同的順序會做排序 (亦即他們想把它們的相對順序排序後)。就地,所以直接將會變成傳入之集合的排序時。 | |
UseFullForm | 取得如果指定的 DomainRelationship 會以完整形式序列化。 | |
WrapAsCSharpString | 轉換為字串常值中 C# 語法來包裝指定的字串。 |
回頁首
欄位
名稱 | 說明 | |
---|---|---|
CoreDomainModelNamespacePrefix |
回頁首
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。不保證任何執行個體成員是安全執行緒。