共用方式為


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) 成員都具備執行緒安全。不保證任何執行個體成員是安全執行緒。

請參閱

參考

Microsoft.VisualStudio.Modeling.DslDefinition 命名空間