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 | 创建 dslLibrary 及其第一级导入的库的 xmlNamespaceQualifiers |
![]() ![]() |
DefinesDiagramElements | 则为 true,如果给定 DslLibrary 定义关系图元素,错误否则为。关系图元素是在 DslLibrary.DiagramElements 包含的元素,以及关系图 (如果一个被定义)。 |
![]() ![]() |
DefinesNewTargetRole | 在关系派生,关系可以使用目标角色玩家及其父级关系同名,也可以定义从父关系的目标角色玩家派生) 的新 (。此方法判断特定 DomainRelationship 是否定义了一个新的目标角色扮演者。 |
![]() ![]() |
GenerateFontStyle | 创建初始化的字体样式的正确语法。 |
![]() ![]() |
GetAccessModifier | 获取给定 AccessModifier 枚举的 C# 访问修饰符关键字 |
![]() ![]() |
GetAttributeProperties | 返回在将序列化为 XML 属性的特定 DomainClass 定义的所有 DomainProperties。 |
![]() ![]() |
GetBaseClass | 获取在其中声明的字段类的基类字符串。如果基类未定义,使用 ModelElement。 |
![]() ![]() |
GetBaseDomainClass | 获取所提供的类的基类字段 |
![]() ![]() |
GetBaseDomainClassMonikerSchemaTypeName | 获取特定域类的基类的标记架构类型名称。 |
![]() ![]() |
GetBaseDomainClassMonikerTagName | 获取的 MonikerTagName 所提供的域类的基类,该序列化为标记。请注意标记名称不能相同标记的,因此,因为这将需要同一元素的两个定义在生成的模式。使用的默认名称 (如果未指定使用 “XmlClassData.MonikerElementName”),将为非标记 “标记” chapter " 的 XmlTagName。 |
![]() ![]() |
GetBaseDomainClassSchemaTypeName | 获取特定域类的基类的架构类型名称。 |
![]() ![]() |
GetBaseDomainClassXmlTagName | 获取所提供的域类的基类的 XmlTagName。 |
![]() ![]() |
GetBasePropertyHandlerName | 获取 PropertyHandler 的基类给定属性的。,如果它是计算的属性,基类是不同的。 |
![]() ![]() |
GetBaseRelationship | 获取在其中声明的域关系的基本关系字符串。如果基类未定义,使用 ElementLink。 |
![]() ![]() |
GetBaseRole | ,如果存在,获取给定角色的基本角色。否则,它返回 null。 |
![]() ![]() |
GetCamelCase | Conver 输入字符串到由低框的 camel 大小写第一个字符 |
![]() ![]() |
GetDesigner | 若要获得关于特定 DslLibrary 定义的设计器。 |
![]() ![]() |
GetDiagramElementForDecoratorMap | 获取关系图元素与定义修饰器映射的形状或连接映射。 |
![]() ![]() |
GetDomainClassMonikerSchemaTypeName | 获取特定域类的标记架构类型名称。 |
![]() ![]() |
GetDomainClassMonikerTagName(DomainClass, String) | 获取域类的 MonikerTagName,时,该序列化为标记。请注意标记名称不能相同标记的,因此,因为这将需要同一元素的两个定义在生成的模式。使用的默认名称 (如果未指定使用 “XmlClassData.MonikerElementName”),将为非标记 “标记” chapter " 的 XmlTagName。 |
![]() ![]() |
GetDomainClassMonikerTagName(DomainClass, String, Dictionary<DslLibrary, String>) | 获取域类的 MonikerTagName,时,该序列化为标记。请注意标记名称不能相同标记的,因此,因为这将需要同一元素的两个定义在生成的模式。使用的默认名称 (如果未指定使用 “XmlClassData.MonikerElementName”),将为非标记 “标记” chapter " 的 XmlTagName。 |
![]() ![]() |
GetDomainClassSchemaTypeName | 获取特定域类的架构类型名称。 |
![]() ![]() |
GetDomainClassXmlTagName(DomainClass, String) | 获取域类的 XmlTagName。 |
![]() ![]() |
GetDomainClassXmlTagName(DomainClass, String, Dictionary<DslLibrary, String>) | 获取域类的 XmlTagName。 |
![]() ![]() |
GetDomainTypeFullName(DomainProperty) | 获取 DomainProperty 类型的全名 (包括泛型参数) 的属性类的命名空间。 |
![]() ![]() |
GetDomainTypeFullName(DomainType, String) | 获取 DomainType 的全名 (包括泛型参数) 的给定当前命名空间。 |
![]() ![]() |
GetElementProperties | 返回在将序列化为嵌套的 XML 元素的特定 DomainClass 定义的所有 DomainProperties。 |
![]() ![]() |
GetGeneratedLinkAccessModifier | 返回最受限制的类型在 DomainRelationship 及其角色扮演者通过) 的访问修饰符。 |
![]() ![]() |
GetGeneratedPropertyGetterAccessModifier | 返回为 get/set 属性将使用的 getter 特性修饰符 DomainRelationship 类 |
![]() ![]() |
GetGeneratedPropertySetterAccessModifier | 返回为 get/set 属性将使用的 setter 特性修饰符 DomainRelationship 类 |
![]() ![]() |
GetGenerationClassName | 返回要生成的类的名称。对于双派生的类,我们添加 “到域类名称的凭据。否则,使用域类的名称。 |
![]() ![]() |
GetGenerationInheritanceModifier | 获取域类的类修饰符。返回 “抽象”,则类为 double 派生类,因为生成的类 (基类) 在双派生的匹配始终是抽象的 |
![]() ![]() |
GetGuid | 返回窗体 “新 System.Guid 的字符串 (xxx)” xxx 特定位置的 guid 的字符串形式。 |
![]() ![]() |
GetInheritanceModifier | 获取给定 InheritanceModifier 枚举的 C# 修饰符关键字 |
![]() ![]() |
GetMethodModifier | 获取方法修饰符 (虚方法,重写等) 与给定的参数的生成代码。 |
![]() ![]() |
GetModelElementDomainClass | 返回表示 ModelElement 的 DomainClass |
![]() ![]() |
GetNameProperty | 返回可用于 idenfify 元素对用户的属性 (在命名或基类)。返回属性标记为 IsElementName。如果有 none,则返回属性标记为 IsMonikerKey。如果有 none,则返回 null。 |
![]() ![]() |
GetPackageNamespace | 获取 DSL 包名称特定 DSL。 |
![]() ![]() |
GetPropertyDefaultValue | 返回字符串声明属性的默认值 (窗体 “=” defaultValue |
![]() ![]() |
GetPropertyDefaultValueAttribute | 获取 System.ComponentModel.DefaultValueAttribute 的构造函数的字符串。 |
![]() ![]() |
GetPropertyHandlerName | 获取特性处理程序的名称的属性 |
![]() ![]() |
GetPropertyKind | 返回的字符串。 DomainPropertyAttribute 构造函数的属性。 |
![]() ![]() |
GetPropertyRepresentation | 获取 PropertyRepresentation (属性,组件或忽略) 特定 DomainProperty。默认值为属性,如果未指定。 |
![]() ![]() |
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 | 获取用于确定生成的属性的类型此角色的角色。这是与此角色相同的最 foundation 角色。 |
![]() ![]() |
GetVersionString | 获取 DslLibrary 的版本以字符串的形式。 |
![]() ![]() |
GetXmlSchemaNamespace | 获取使用的 XML 命名空间为生成的架构 |
![]() ![]() |
HasCompartmentMaps | ,如果特定关系图中定义 CompartmentMaps,则为 true。 |
![]() ![]() |
HasCustomBaseImplementation | 已过时。特定其基础 DomainClasses) DomainClass (或任何是否标记为 “IsCustom”,这意味着序列化自定义。 |
![]() ![]() |
HasCustomTypeDescriptor | 否则返回 true,如果特定类具有自定义类型中定义的类型描述符,错误。 |
![]() ![]() |
HasNonAbstractBaseClass | 了解特定 DomainClass 是否具有非抽象基类。所需的确定 “新”关键字是否需要生成。 |
![]() ![]() |
IsCoreDomainModel | 返回所提供的类是否为核心域模型 |
![]() ![]() |
IsElementLinkDomainClass | 返回所提供的域类是否表示 “ElementLink”。 |
![]() ![]() |
IsGuidType | 返回 true,则类型表示 GUID (“System.Guid”) |
![]() ![]() |
IsInCoreDomainModel | 返回所提供的类是否为核心域模型的一部分 |
![]() ![]() |
IsLaxElementSchemaRequired | 的要求不严格组件的架构类型定义是否为类是必需的。 |
![]() ![]() |
IsModelElementDomainClass | 返回所提供的域类是否表示 “ModelElement”。 |
![]() ![]() |
IsMultiple | 返回 true,则这种特定重数的上限为 * |
![]() ![]() |
IsOuterDecorator(DiagramElementHasDecorators) | ,如果给定链接连接到一个外部修饰器,则返回 true。 |
![]() ![]() |
IsOuterDecorator(ShapeDecoratorPosition) | ,如果给定 ShapeDecorationPosition 是一个外部修饰器,则返回 true。 |
![]() ![]() |
IsRootClass | 如果 DomainClass 是根类,其所有序列化相关的方法/属性将是虚拟的 (除非它密封了);否则,这些方法/属性将为 “重写”和调用基实现。目前,,如果从 Microsoft.VisualStudio.Modeling.ModelElement 或 Microsoft.VisualStudio.Modeling.ElementLink 直接,派生 DomainClass 是根类。 |
![]() ![]() |
IsStringProperty | ,如果属性为类型字符串,则返回 true。 |
![]() ![]() |
IsStringType | 返回 true,则类型表示字符串 (“string”或 “System.String”) |
![]() ![]() |
MapToSchemaType | 映射 DomainType 到其架构类型。 |
![]() ![]() |
OmitElement | 获取,如果给定 DomainRelationship 序列化为 “OmitElement” (无角色元素标记)。 |
![]() ![]() |
RequiresGeneratedPropertyDescriptor | 否则返回 true,如果给定描述符需要一个 PropertyDescriptor 派生类生成,错误。 |
![]() ![]() |
SortDomainClassesByInheritance<T> | 排序 DomainClasses 的集合基于相对于继承关系。派生的一个将将首先在对结果进行排序。用于以下情况:添加具有 4 DomainClasses A、 B、 C、 D。需要生成与下面的某些代码:…a = obj 为;如果 (! = NULL)…作为 B 的 B B = obj;如果 (b! = NULL)…C 作为 C 的 c = obj;如果 (c! = NULL)…D 作为 D " d = obj;如果 (d! = NULL)…...如果 C 从+中派生,上面的代码是错误的;正确的代码应检查 C 首先在检查 A. 之前。因此应调用此方法来进行排序 DomainClasses 按顺序继承,因此,生成的代码类似于以下内容:…C 作为 C 的 c = obj;如果 (c! = NULL)…a = obj 为;如果 (! = NULL)…作为 B 的 B B = obj;如果 (b! = NULL)…D 作为 D " d = obj;如果 (d! = NULL)…... |
![]() ![]() |
SortProperties | 方法对 XmlElement.Order 的 DomainProperties (如果指定)。默认情况下,每个属性顺序为 0。与小额顺序的属性首先显示。相同顺序的属性不会排序 (即。它们在排序后将保留它们的相对顺序)。排序就地,因此,通过在集合将直接更改。 |
![]() ![]() |
SortRoles | 方法对 XmlRelationshipElement.Order 的 DomainRoles (如果指定)。默认情况下,每个角色顺序为 0。与小额顺序的角色首先显示。相同顺序的角色不排序 (即。它们在排序后将保留它们的相对顺序)。排序就地,因此,通过在集合将直接更改。 |
![]() ![]() |
UseFullForm | ,如果给定 DomainRelationship 在完全窗体,序列化获取。 |
![]() ![]() |
WrapAsCSharpString | 包装给定字符串添加到 C# 语法的字符串。 |
页首
字段
名称 | 说明 | |
---|---|---|
![]() ![]() |
CoreDomainModelNamespacePrefix |
页首
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。