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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Modeling.DslDefinition 命名空间