Share via


Classe CodeGenerationUtilities

Utilitários usados pelos modelos de geração de código

Hierarquia de herança

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

Namespace:  Microsoft.VisualStudio.Modeling.DslDefinition
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.11.0.dll)

Sintaxe

'Declaração
Public NotInheritable Class CodeGenerationUtilities
public static class CodeGenerationUtilities

O tipo CodeGenerationUtilities expõe os membros a seguir.

Métodos

  Nome Descrição
Método públicoMembro estático AddSerializationResourceStrings Adicione seqüências de recursos usadas por serializadores gerados.A seqüência de caracteres adicionada aqui não são localizados, porque são utilizados para gerar o arquivo resx, que será localizado.
Método públicoMembro estático AllowMultiple Obtém se uma determinada função permite que várias instâncias, com base em sua multiplicidade.
Método públicoMembro estático CalculateInheritanceDepth Dada uma DomainClass, calcule a profundidade de herança no código gerado (levando em consideração derivado de duas classes base).Isso é usado para determinar se precisamos de um atributo de SuppressMessage para "herança excessivo".
Método públicoMembro estático CreateXmlNamespaceQualifiers Criar xmlNamespaceQualifiers para a dslLibrary e suas bibliotecas de importados de primeiro nível
Método públicoMembro estático DefinesDiagramElements True se o dado DslLibrary define elementos de diagramas, falsos caso contrário.Elementos de diagrama são elementos que estão incluídos na DslLibrary.DiagramElements, além de diagrama (se um estiver definido).
Método públicoMembro estático DefinesNewTargetRole Na derivação de relacionamento, uma relação pode usar o mesmo usuário de destino como sua relação de pai ou ele pode definir um novo (que deriva de usuário de destino da relação de pai).Esse método informa se o dado DomainRelationship define o novo player de função de destino.
Método públicoMembro estático GenerateFontStyle Crie a sintaxe correta para inicializar o estilo de uma fonte.
Método públicoMembro estático GetAccessModifier Obtém a C# acesso palavra-modificador chave para determinado enum AccessModifier
Método públicoMembro estático GetAttributeProperties Retorna todos os DomainProperties definidos no DomainClass dado que será serializada como um atributo XML.
Método públicoMembro estático GetBaseClass Obtém a seqüência de caracteres para declarar a classe base de uma classe de domínio.Se a classe base não estiver definida, o ElementoModelo é usado.
Método públicoMembro estático GetBaseDomainClass Obter a classe de domínio base para a classe fornecida
Método públicoMembro estático GetBaseDomainClassMonikerSchemaTypeName Obtenha o nome do tipo do esquema de identificador de origem para a classe base da classe determinado domínio.
Método públicoMembro estático GetBaseDomainClassMonikerTagName Obter o MonikerTagName para uma classe base da classe de domínio fornecido quando ele for serializado como um moniker.Observe que o nome da marca não pode ser o mesmo para o identificador de origem, porque o que exigirá duas definições do mesmo elemento no esquema gerado.O nome padrão usado (se não for especificado usando o "XmlClassData.MonikerElementName"), será o moniker não do XmlTagName seguido por "Moniker".
Método públicoMembro estático GetBaseDomainClassSchemaTypeName Obter o nome de tipo de esquema para a classe base da classe determinado domínio.
Método públicoMembro estático GetBaseDomainClassXmlTagName Obtenha o XmlTagName para a classe base da classe de domínio fornecido.
Método públicoMembro estático GetBasePropertyHandlerName Obtém a classe base para o PropertyHandler para a propriedade fornecida.A classe base é diferente se for uma propriedade calculada.
Método públicoMembro estático GetBaseRelationship Obtém a seqüência de caracteres para declarar a relação de base de uma relação de domínio.Se a classe base não for definida, ElementLink é usado.
Método públicoMembro estático GetBaseRole Obtém a função de base de uma determinada função, se existir um.Caso contrário, ele retorna null.
Método públicoMembro estático GetCamelCase Conver a seqüência de caracteres de entrada para camel case pelo caractere casing inferior o primeiro
Método públicoMembro estático GetDesigner Obtenha o Designer definido na determinado DslLibrary.
Método públicoMembro estático GetDiagramElementForDecoratorMap Obtém o elemento de diagrama associado ao mapa conector ou forma que define um mapa a decorador.
Método públicoMembro estático GetDomainClassMonikerSchemaTypeName Obtenha o nome do tipo do esquema de identificador de origem para a classe de determinado domínio.
Método públicoMembro estático GetDomainClassMonikerTagName(DomainClass, String) Obtenha o MonikerTagName para uma classe de domínio, quando ele for serializado como um moniker.Observe que o nome da marca não pode ser o mesmo para o identificador de origem, porque o que exigirá duas definições do mesmo elemento no esquema gerado.O nome padrão usado (se não for especificado usando o "XmlClassData.MonikerElementName"), será o moniker não do XmlTagName seguido por "Moniker".
Método públicoMembro estático GetDomainClassMonikerTagName(DomainClass, String, Dictionary<DslLibrary, String>) Obtenha o MonikerTagName para uma classe de domínio, quando ele for serializado como um moniker.Observe que o nome da marca não pode ser o mesmo para o identificador de origem, porque o que exigirá duas definições do mesmo elemento no esquema gerado.O nome padrão usado (se não for especificado usando o "XmlClassData.MonikerElementName"), será o moniker não do XmlTagName seguido por "Moniker".
Método públicoMembro estático GetDomainClassSchemaTypeName Obter o nome do tipo de esquema para a classe de determinado domínio.
Método públicoMembro estático GetDomainClassXmlTagName(DomainClass, String) Obtenha o XmlTagName para uma classe de domínio.
Método públicoMembro estático GetDomainClassXmlTagName(DomainClass, String, Dictionary<DslLibrary, String>) Obtenha o XmlTagName para uma classe de domínio.
Método públicoMembro estático GetDomainTypeFullName(DomainProperty) Obtém o nome completo do tipo da DomainProperty (incluindo parâmetros genéricos) em relação ao namespace da classe da propriedade.
Método públicoMembro estático GetDomainTypeFullName(DomainType, String) Obtém o nome completo do que o DomainType (incluindo parâmetros genéricos) em relação a determinado namespace atual.
Método públicoMembro estático GetElementProperties Retorna todos os DomainProperties definidos no DomainClass dado que será serializada como elemento aninhado de XML.
Método públicoMembro estático GetGeneratedLinkAccessModifier Retorna o modificador de acesso de tipo mais limitado entre passado DomainRelationship e seus players de função.
Método públicoMembro estático GetGeneratedPropertyGetterAccessModifier Retorna o modificador de propriedade getter a ser usado para as propriedades Get/Set na classe DomainRelationship
Método públicoMembro estático GetGeneratedPropertySetterAccessModifier Retorna o modificador de propriedade setter para ser usado para as propriedades Get/Set na classe DomainRelationship
Método públicoMembro estático GetGenerationClassName Retorna o nome da classe a ser gerado.No caso de uma classe derivada de duplo, adicionamos 'Base' com o nome da classe de domínio.Caso contrário, será usado o nome da classe de domínio.
Método públicoMembro estático GetGenerationInheritanceModifier Obtém o modificador de classe para uma classe de domínio.Retorna "abstrato" se a classe é que um double classe derivada porque a classe gerada (classe base) em um par de duplo derivado é sempre abstrata
Método públicoMembro estático GetGuid Retorna uma string no formato "nova System.Guid(xxx)" onde xxx é a forma de seqüência de caracteres de determinado guid.
Método públicoMembro estático GetInheritanceModifier Obtém a palavra-chave C# modificador para determinado enum InheritanceModifier
Método públicoMembro estático GetMethodModifier Obtém o modificador do método (virtual, substituição, etc.) em gerado código com os parâmetros definidos.
Método públicoMembro estático GetModelElementDomainClass Retorna o DomainClass que representa o ElementoModelo
Método públicoMembro estático GetNameProperty Retornar uma propriedade (em isso ou uma classe base) que pode ser usada para idenfify um elemento para o usuário.Retorna que a propriedade marcada como IsElementName.Se não houver nenhum, retorna a propriedade marcada como IsMonikerKey.Se não houver nenhum, retorna null.
Método públicoMembro estático GetPackageNamespace Obter o nome do pacote de Dsl para determinado Dsl.
Método públicoMembro estático GetPropertyDefaultValue Retorna a seqüência de caracteres para declarar o valor padrão de uma propriedade (no formulário "= defaultValue"
Método públicoMembro estático GetPropertyDefaultValueAttribute Obtém a seqüência de caracteres para o construtor do System.ComponentModel.DefaultValueAttribute.
Método públicoMembro estático GetPropertyHandlerName Obtém o nome de um manipulador de propriedade para uma propriedade
Método públicoMembro estático GetPropertyKind Retorna a seqüência de caracteres para o tipo do tipo da propriedade para o construtor DomainPropertyAttribute.
Método públicoMembro estático GetPropertyRepresentation Obtenha o PropertyRepresentation (atributo, elemento ou ignorado) da DomainProperty determinado.Se não for especificado, o padrão é atributo.
Método públicoMembro estático GetPropertyTagName Obtém o nome da marca XML da DomainProperty determinado.O nome da marca será o nome do atributo XML se a propriedade for serializada como um atributo XML, ou nome do elemento XML se a propriedade for serializada como um elemento aninhado de XML.
Método públicoMembro estático GetRelationshipTagName Obtenha o nome do elemento XML função para relação da função determinada.Observação: Este é o RoleElementName (se definido), não o nome da marca XML para um relacionamento de formato completo (que é retornado de GetDomainClassXmlTagName()).
Método públicoMembro estático GetSameNameBaseRole Retorna a função de base de uma determinada função, se ele tiver o mesmo nome de uma determinada função
Método públicoMembro estático GetSegmentInputType(PathSegment) Para o dado pathSegment, esse método retorna seu nome de tipo totalmente qualificado de entrada.
Método públicoMembro estático GetSegmentInputType(PathSegment, Boolean) Para o dado pathSegment, esse método retorna seu nome de tipo totalmente qualificado de entrada.
Método públicoMembro estático GetSegmentOutputType(PathSegment) Para o dado pathSegment, esse método retorna seu nome de tipo totalmente qualificado de saída.
Método públicoMembro estático GetSegmentOutputType(PathSegment, Boolean) Para o dado pathSegment, esse método retorna seu nome de tipo totalmente qualificado de saída.
Método públicoMembro estático GetSerializedDomainClasses Obtenha uma lista de todos os DomainClasses no DslLibrary a determinado que terá serializadores gerados.
Método públicoMembro estático GetTypeAccessModifier Obtém a C# acesso palavra-modificador chave para determinado enum TypeAccessModifier
Método públicoMembro estático GetTypeRole Obtém a função que determina o tipo da propriedade gerado para esta função.Essa é a função de maioria-base que tem o mesmo nome que essa função.
Método públicoMembro estático GetVersionString Obtenha a versão de um DslLibrary em forma de seqüência.
Método públicoMembro estático GetXmlSchemaNamespace Obtenha o namespace XML a ser usado para o esquema gerado
Método públicoMembro estático HasCompartmentMaps True se o diagrama de determinado define CompartmentMaps.
Método públicoMembro estático HasCustomBaseImplementation Obsoleta. Se o dado DomainClass (ou qualquer um dos seus DomainClasses base) está marcado como "IsCustom", que significa que a serialização personalizada.
Método públicoMembro estático HasCustomTypeDescriptor Retorna true se determinada classe possui um descritor de tipo personalizado definido, FALSO caso contrário.
Método públicoMembro estático HasNonAbstractBaseClass Informa se o dado DomainClass tem uma classe de base non-abstract.Lá, é necessário para determinar se uma palavra-chave "new" precisa ser gerado.
Método públicoMembro estático IsCoreDomainModel Retorna se a classe fornecida é o modelo de domínio do núcleo
Método públicoMembro estático IsElementLinkDomainClass Retorna se a classe de domínio fornecido representa "ElementLink".
Método públicoMembro estático IsGuidType Retorna true se typeName representa o Guid ("System. GUID")
Método públicoMembro estático IsInCoreDomainModel Retorna se a classe fornecida é parte do modelo de domínio do núcleo
Método públicoMembro estático IsLaxElementSchemaRequired Se uma definição de tipo de esquema do elemento lax é necessária para a classe
Método públicoMembro estático IsModelElementDomainClass Retorna se a classe de domínio fornecido representa "ModelElement".
Método públicoMembro estático IsMultiple Retorna true se o limite superior de determinado multiplicidade é *
Método públicoMembro estático IsOuterDecorator(DiagramElementHasDecorators) Retorna true se o link fornecido se conecta a um decorador externa.
Método públicoMembro estático IsOuterDecorator(ShapeDecoratorPosition) Retorna true se o ShapeDecorationPosition fornecido é um decorador externa.
Método públicoMembro estático IsRootClass Se uma DomainClass é uma classe de raiz, todas as suas serialização métodos/propriedades relacionadas a ser virtuais (a menos que ele é sealed); Caso contrário, esses métodos/as propriedades serão "substituir" e entrará em contato com implementações básicas.Atualmente, uma DomainClass é uma classe raiz se ele deriva de Microsoft.VisualStudio.Modeling.ModelElement ou Microsoft.VisualStudio.Modeling.ElementLink diretamente.
Método públicoMembro estático IsStringProperty Retorna true se a propriedade for do tipo string.
Método públicoMembro estático IsStringType Retorna true se typeName representa uma seqüência de caracteres ("string" ou "System. String")
Método públicoMembro estático MapToSchemaType Mapear um DomainType para seu tipo de esquema.
Método públicoMembro estático OmitElement Obtém se o dado DomainRelationship for serializado como "OmitElement" (sem a marca de elemento de função).
Método públicoMembro estático RequiresGeneratedPropertyDescriptor Retorna VERDADEIRO se o descritor de determinado requer um PropertyDescriptor derivada de classe seja gerado, FALSO caso contrário.
Método públicoMembro estático SortDomainClassesByInheritance<T> Classificar uma coleção de DomainClasses com base em relações de herança relativo.Aquele mais derivado aparecerá primeiro no resultado da classificação.Isso é usado na seguinte situação: dizer lá estiver 4 DomainClasses A, B, C e d.Você precisa gerar um código como o seguinte:...A um = obj como A; Se (um! = null)...B b = obj como B; Se (b! = null)...C c = obj como C; Se (c! = null)...D D = obj como D. Se (d! = null)......Se c deriva de um, o código acima é errado; o código correto deve verificar se há c primeiro antes verificando a.É por isso que este método deve ser chamado classificado para o DomainClasses na ordem de herança e o código gerado terá a seguinte aparência:...C c = obj como C; Se (c! = null)...A um = obj como A; Se (um! = null)...B b = obj como B; Se (b! = null)...D D = obj como D. Se (d! = null)......
Método públicoMembro estático SortProperties DomainProperties de classificação com base em XmlElement.Order (se especificada).Por padrão, a ordem de cada propriedade é 0.Propriedades com ordem menor aparecerá primeira.Propriedades da mesma ordem não serão classificadas (ou sejaeles manterá sua ordem relativa após a classificação).A classificação é in loco, portanto, a coleção passado será alterada diretamente.
Método públicoMembro estático SortRoles DomainRoles de classificação com base em XmlRelationshipElement.Order (se especificada).Por padrão, a ordem de cada função é 0.Funções com ordem menor aparecerá primeira.Funções da mesma ordem não serão classificadas (ou sejaeles manterá sua ordem relativa após a classificação).A classificação é in loco, portanto, a coleção passado será alterada diretamente.
Método públicoMembro estático UseFullForm Obtém se o dado DomainRelationship é serializada em formato completo.
Método públicoMembro estático WrapAsCSharpString Dispor determinada seqüência de caracteres em uma seqüência de caracteres literal na sintaxe de C#.

Superior

Campos

  Nome Descrição
Campo públicoMembro estático CoreDomainModelNamespacePrefix

Superior

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Modeling.DslDefinition