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:
Você pode definir regras e eventos que monitoram o estado de uma propriedade. Para obter mais informações, confira Responder a alterações e propagá-las.
As transações ajudam a impedir estados inconsistentes. Para obter mais informações, consulte Navegar e atualizar um modelo no código do programa.
Quando você seleciona uma Propriedade de Domínio em um diagrama ou no Gerenciador de DSL, pode ver os itens a seguir na janela Propriedades. Para obter mais informações sobre como usar esses itens, confira Personalizar e estender uma Linguagem Específica de Domínio.
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 |