Eigenschaften von Domäneneigenschaften
Eine Domäneneigenschaft ist ein Feature eines Modellelements, das einen Wert enthalten kann. So kann die Domänenklasse Person
beispielsweise die Eigenschaften Name
und BirthDate
aufweisen. In der DSL-Definition werden die Domäneneigenschaften im Domänenklassenfeld im Diagramm und unter der Domänenklasse im DSL-Explorer aufgelistet. Weitere Informationen finden Sie unter Definieren einer domänenspezifischen Sprache.
Hinweis
Der Begriff "Eigenschaft" umfasst zwei Verwendungen. Eine Domäneneigenschaft ist ein Feature, das Sie für eine Domänenklasse definieren. Im Gegensatz dazu besitzen viele Elemente einer DSL jene Eigenschaften, die im Fenster Eigenschaften in der DSL-Definition aufgelistet sind. Jede Domäneneigenschaft besitzt beispielsweise einen Satz von Eigenschaften, die im vorliegenden Thema beschrieben werden.
Wenn ein Benutzer während der Laufzeit Instanzen der Domänenklasse erstellt, können die Werte der Domäneneigenschaften im Eigenschaftenfenster betrachtet und auf den Formen dargestellt werden.
Die meisten Domäneneigenschaften werden als gewöhnliche CLR-Eigenschaften implementiert. Vom Standpunkt der Programmierung aus betrachtet besitzen Domäneneigenschaften jedoch eine reichhaltigere Funktionalität als gewöhnliche Programmeigenschaften:
Sie können Regeln und Ereignisse definieren, welche den Zustand einer Eigenschaft überwachen. Weitere Informationen finden Sie unter Reagieren auf und Weiterleiten von Änderungen.
Transaktionen tragen dazu bei, dass inkonsistenten Zuständen vorgebeugt wird. Weitere Informationen finden Sie unter Navigieren und Aktualisieren eines Modells im Programmcode.
Wenn Sie eine Domäneneigenschaft in einem Diagramm oder im DSL-Explorer auswählen, werden die folgenden Elemente im Eigenschaftenfenster angezeigt. Weitere Informationen zur Verwendung dieser Elemente finden Sie unter Anpassen und Erweitern einer domänenspezifischen Sprache.
Eigenschaft | Beschreibung | Standardwert |
---|---|---|
Beschreibung | Die Beschreibung, die zum Dokumentieren der Benutzeroberfläche (UI) des generierten Designers verwendet wird. | <keine> |
Anzeigename | Der Name, der im generierten Designer für diese Domäneneigenschaft angezeigt wird. Dieser kann Leer- und Satzzeichen enthalten, z. B. "Titel des Songs". | <keine> |
Elementnamenanbieter | Dieser ist nur dann anwendbar, wenn Sie Is Element Name auf true eingestellt haben. Sie können Code schreiben, der einen Namen für ein neues Element einer Domänenklasse bereitstellt. Dabei wird das Standardverhalten überschrieben.Erstellen Sie in einer Codedatei im DSL-Projekt eine Klasse, die vom ElementNameProvider abgeleitet wird. Klicken Sie dann im DSL-Explorer mit der rechten Maustaste auf den Stamm der DSL. Klicken Sie danach auf "Externen Typ hinzufügen". Geben Sie den Namen der Klasse ein. Wählen Sie diese Domäneneigenschaft erneut aus. Wählen Sie dann den Namen der Klasse in der Dropdownliste aus. |
<keine> |
Getter-Zugriffsmodifizierer | Die Zugriffsebene der Domänenklasse (public oder internal ). Diese steuert den Umfang, in welchem der Programmcode auf die Eigenschaft zugreifen kann. |
public |
Help Keyword | Das optionale Schlüsselwort, das zum Indizieren der F1-Hilfe für diese Domäneneigenschaft verwendet wird. | <keine> |
Kann durchsucht werden | Falls True gilt, wird die Domäneneigenschaft für den Benutzer im Eigenschaftenfenster angezeigt, sofern Modelle dieser DSL geöffnet sind.Falls False gilt, wird die Domäneneigenschaft auf der Benutzeroberfläche (UI) ausgeblendet.Wenn die Domäneneigenschaft sichtbar und zugleich schreibgeschützt sein soll, legen Sie die Einstellung auf Is UI Read only fest. |
True |
Ist Elementname | Falls True gilt, wird diese Domäneneigenschaft als Name ihres Modellelements im DSL-Explorer angezeigt.Neue Modellelemente erhalten für diese Eigenschaft einen eindeutigen Standardwert. Wenn Sie steuern möchten, wie diese Werte generiert werden, legen Sie Elementnamenanbieter fest. |
False |
Ist UI-schreibgeschützt | Falls True gilt, kann der Wert der Domäneneigenschaft nicht mit der Benutzeroberfläche geändert werden. Er kann weiterhin durch die Programme festgelegt werden, und er wird im Eigenschaftenfenster angezeigt.Wenn Sie die Domäneneigenschaft für Benutzer*innen ausblenden möchten, legen Sie die Einstellung auf Is Browsable fest. Wenn Sie den Zugriff durch Programme steuern möchten, legen Sie Zugriffsmodifizierer für Setter fest. |
False |
Kind | Die Art der Domäneneigenschaft (Normal , Calculated oder CustomStorage ). Weitere Informationen finden Sie unter Berechnete und benutzerdefinierte Speichereigenschaften. |
Normal |
Name | Der Name dieser Domäneneigenschaft. Hierbei muss es sich um einen gültigen Bezeichner wie SongTitle handeln. | <keine> |
Hinweise | Informelle Hinweise, die mit dieser Domäneneigenschaft verknüpft sind. | <keine> |
Setter-Zugriffsmodifizierer | Der Zugriffsmodifizierer für den Setter. Dieser steuert den Umfang, in welchem der Programmcode die Eigenschaft festlegen kann. | public |
Typ | Der Typ der Eigenschaft. Zum Hinzufügen zur Liste der verfügbaren Typen klicken Sie mit der rechten Maustaste auf den Stamm der DSL im DSL-Explorer. Klicken Sie dann auf Externen Typ hinzufügen. | String |