Compartilhar via


Propriedades de propriedades de domínio

Uma propriedade de domínio é um recurso de um elemento de modelo que pode conter um valor. Por exemplo, a classe de domínio Person poderia ter as propriedades Name e BirthDate. Em Definição de DSL, as propriedades de domínio são listadas na caixa de classe de domínio no diagrama e sob a classe de domínio no Gerenciador de DSL. Para obter mais informações, confira Como definir uma Linguagem Específica de Domínio.

Observação

A palavra "propriedade" possui dois usos. Uma propriedade de domínio é um recurso que você define em uma classe de domínio. Por outro lado, muitos elementos de uma DSL têm propriedades listadas na janela Propriedades na Definição de DSL. Por exemplo, cada propriedade de domínio tem um conjunto de propriedades, que são descritas neste tópico.

No momento da execução, quando um usuário cria instâncias da classe de domínio, os valores das propriedades de domínio podem ser vistos na janela Propriedades e exibidos nas formas.

A maioria das propriedades de domínio é implementada como propriedades CLR comuns. No entanto, do ponto de vista da programação, as propriedades de domínio têm funcionalidade mais rica do que as propriedades de programa comuns:

Propriedade Descrição Valor padrão
Descrição A descrição usada para documentar a interface do usuário (IU) do designer gerado. <nenhum>
Nome de Exibição O nome que será exibido no designer gerado para essa propriedade de domínio. Ele pode conter espaços e pontuação, por exemplo "Título da Música". <nenhum>
Provedor de nome de elemento Só será aplicável se você tiver configurado Is Element Name como true. Você pode escrever código que fornece um nome para um novo elemento de uma classe de domínio, substituindo o comportamento padrão.

Em um arquivo de código no projeto DSL, crie uma classe derivada de ElementNameProvider.

Depois, no Gerenciador de DSL, clique com o botão direito do mouse na raiz do DSL e clique em Adicionar Tipo Externo. Insira o nome da sua classe.

Escolha essa propriedade de domínio novamente e escolha o nome da classe na lista suspensa.
<nenhum>
Modificador de acesso getter O nível de acesso da classe de domínio (public ou internal). Controla o escopo no qual o código do programa pode acessar a propriedade. public
Palavra-chave de ajuda A palavra-chave opcional usada para indexar a ajuda F1 desta propriedade de domínio. <nenhum>
É navegável Se True, a propriedade de domínio será exibida para o usuário na janela de propriedades quando modelos deste DSL forem abertos.

Se False, a propriedade de domínio ficará oculta na interface do usuário.

Se desejar tornar a propriedade do domínio visível, mas somente leitura, defina É IU Somente Leitura.
True
É nome de elemento Se True, esta propriedade de domínio será exibida como o nome do seu elemento modelo no Gerenciador de DSL.

Novos elementos do modelo receberão um valor padrão único para esta propriedade. Para controlar a forma como esses valores são gerados, defina Provedor de Nome de Elemento.
False
É IU Somente leitura Se True, o valor da propriedade de domínio não poderá ser alterada usando a IU. Ele ainda pode ser definido por programas e estará visível na janela Propriedades.

Se desejar ocultar a propriedade de domínio do usuário, defina É Navegável. Se desejar controlar o acesso por programas, defina Modificador de Acesso Setter.
False
Tipo O tipo da propriedade de domínio (Normal, Calculated ou CustomStorage). Para obter mais informações, confira Propriedades de armazenamento calculado e personalizado. Normal
Nome O nome da propriedade do domínio. Deve ser um identificador válido, por exemplo, SongTitle. <nenhum>
Observações Notas informais associadas a esta propriedade de domínio. <nenhum>
Modificador de acesso setter O modificador de acesso do setter. Controla o escopo no qual o código do programa pode definir a propriedade. public
Tipo O tipo de propriedade. Para adicionar à lista de tipos disponíveis, clique com o botão direito do mouse na raiz do DSL no Gerenciador de DSL e clique em Adicionar Tipo Externo. String

Confira também