Propriétés des propriétés de domaine
Une propriété de domaine est une fonctionnalité d’un élément de modèle qui peut contenir une valeur. Par exemple, la classe de domaine Person
pourrait avoir des propriétés Name
et BirthDate
. Dans la définition DSL, les propriétés de domaine sont énumérées dans la zone de classe de domaine sur le diagramme et sous la classe de domaine dans l'Explorateur DSL. Pour plus d’informations, consultez Comment définir un langage spécifique à un domaine.
Notes
Le mot « propriété » a deux utilisations. Une propriété de domaine est une fonctionnalité que vous définissez sur une classe de domaine. Par contraste, de nombreux éléments d’un DSL ont des propriétés, qui sont énumérées dans la fenêtre Propriétés dans la définition DSL. Par exemple, chaque propriété de domaine possède un jeu de propriétés qui sont décrites dans cette rubrique.
Au moment de l'exécution, quand un utilisateur crée des instances de la classe de domaine, les valeurs des propriétés de domaine sont visibles dans la fenêtre Propriétés et peuvent être affichées sur les formes.
La plupart des propriétés de domaine sont implémentées en tant que propriétés CLR ordinaires. Toutefois, du point de vue de la programmation, les propriétés de domaine ont des fonctionnalités enrichies par rapport aux propriétés de programme ordinaires :
Vous pouvez définir des règles et des événements qui surveillent l'état d'une propriété. Pour plus d’informations, consultez Répondre aux modifications et les propager.
Les transactions aident à prévenir les états incohérents. Pour plus d’informations, consultez Navigation et mise à jour d’un modèle dans le code du programme.
Quand vous sélectionnez une propriété de domaine dans un diagramme ou dans l'Explorateur DSL, les éléments suivants sont visibles dans la fenêtre Propriétés. Pour plus d’informations sur l’utilisation de ces éléments, consultez Personnalisation et extension d’un langage spécifique à un domaine.
Propriété | Description | Valeur par défaut |
---|---|---|
Description | Description utilisée pour documenter l'interface utilisateur du concepteur généré. | <Aucune> |
Nom complet | Non affiché dans le concepteur généré pour cette propriété de domaine. Il peut contenir des espaces et une ponctuation, par exemple « Titre du morceau ». | <Aucune> |
Element Name Provider | Applicable uniquement si vous avez affecté la valeur Is Element Name à true . Vous pouvez écrire du code qui fournit un nom pour un nouvel élément d'une classe de domaine et qui remplace le comportement par défaut.Dans un fichier de code dans le projet DSL, créez une classe dérivée de ElementNameProvider. Ensuite, dans l'Explorateur DSL, cliquez avec le bouton droit sur la racine de la solution DSL, puis cliquez sur Ajouter un type externe. Entrez le nom de votre classe. Sélectionnez de nouveau cette propriété de domaine et sélectionnez le nom de la classe dans la liste déroulante. |
<Aucune> |
Getter Access Modifier | Niveau d'accès de la classe de domaine (public ou internal ). Contrôle l'étendue selon laquelle le code de programme peut accéder à la propriété. |
public |
Help Keyword | Mot clé facultatif servant à indexer l'aide F1 pour cette propriété de domaine. | <Aucune> |
Is Browsable | Si True , la propriété de domaine est présentée à l'utilisateur dans la fenêtre de propriétés quand des modèles de cette solution DSL sont ouverts.Si False , la propriété de domaine est masquée dans l'interface utilisateur.Si vous souhaitez rendre la propriété de domaine visible mais en lecture seule, activezIs UI Read Only. |
True |
Is Element Name | Si True , cette propriété de domaine est affichée comme nom de son élément de modèle dans l'Explorateur DSL.Les nouveaux éléments de modèle reçoivent une valeur par défaut unique pour cette propriété. Si vous voulez contrôler la manière dont ces valeurs sont générées, activez Element Name Provider. |
False |
Is UI Read Only | Si True , la valeur de la propriété de domaine ne peut pas être modifiée à l'aide de l'interface utilisateur. Elle peut quand même être définie par des programmes et sera visible dans la fenêtre Propriétés.Si vous souhaitez masquer la propriété de domaine aux yeux de l’utilisateur, activez Is Browsable. Si vous voulez contrôler l’accès par les programmes, activez Setter Access Modifier. |
False |
Type | Genre de propriété de domaine (Normal , Calculated ou CustomStorage ). Pour plus d’informations, consultez Propriétés de stockage calculées et personnalisées. |
Normal |
Nom | Nom de cette propriété de domaine. Il doit s’agir d’un identificateur valide, par exemple SongTitle. | <Aucune> |
Remarques | Remarques informelles associées à cette propriété de domaine. | <Aucune> |
Setter Access Modifier | Modificateur d'accès pour la méthode Setter. Contrôle l'étendue selon laquelle le code de programme peut définir la propriété. | public |
Type | Type de propriété. Pour ajouter à la liste de types disponibles, cliquez avec le bouton droit sur la racine du DSL dans l’explorateur DSL, puis cliquez sur Ajouter un type externe. | String |