"ドメイン プロパティ" は、値を保持できるモデル要素の機能です。 たとえば、Person
ドメイン クラスに Name
プロパティと BirthDate
プロパティを指定することができます。 DSL 定義で、ドメイン プロパティは図のドメイン クラス ボックスと DSL エクスプローラーのドメイン クラスの下に一覧表示されます。 詳細については、「方法: ドメイン固有言語を定義する」を参照してください。
Note
"プロパティ" という用語には 2 つの使用法があります。 "ドメイン プロパティ" はドメイン クラス上で定義する機能です。 対照的に、DSL の多くの要素には "プロパティ" が含まれており、DSL 定義の [プロパティ] ウィンドウに一覧表示されます。 たとえば、すべてのドメイン プロパティは、このトピックで説明するプロパティのセットを持っています。
実行時、ユーザーがドメイン クラスのインスタンスを作成すると、ドメイン プロパティの値は [プロパティ] ウィンドウ内と図形上に表示されます。
ほとんどのドメイン プロパティは通常の CLR プロパティとして実装されます。 ただし、プログラミングの観点から、ドメイン プロパティには以下のように、通常プログラム プロパティより豊富な機能が含まれています。
プロパティの状態を監視する規則とイベントを定義できます。 詳細については、変更内容への対応および変更内容の反映に関するページを参照してください。
トランザクションは一貫性のない状態を防ぐのに役立ちます。 詳細については、プログラム コードにおけるモデル内の移動およびモデルの更新に関するページを参照してください。
図中または DSL エクスプローラー内のドメイン プロパティを選択すると、[プロパティ] ウィンドウに以下の項目が表示されます。 これらの項目の使用方法の詳細については、「ドメイン固有言語のカスタマイズおよび拡張」を参照してください。
プロパティ | Description | 既定値 |
---|---|---|
説明 | 生成されたデザイナーのユーザー インターフェイス (UI) についてのドキュメントとして使用される説明。 | <なし> |
表示名 | 生成されたデザイナーで、このドメイン プロパティ向けに表示される名前。 空白および句読点を含むことがあります。たとえば、"Song Title" など。 | <なし> |
要素名プロバイダー | これは Is Element Name を true に設定した場合のみ適用されます。 ドメイン クラスの新しい要素の名前を指定するコードを作成し、既定の動作をオーバーライドすることができます。DSL プロジェクト内のコード ファイルで、ElementNameProvider から派生するクラスを作成します。 次に、DSL エクスプローラーで、DSL のルートを右クリックし、[外部型の追加] をクリックします。 クラスの名前を入力します。 再度このドメイン プロパティを選択し、ドロップダウン リストからクラスの名前を選択します。 |
<なし> |
Getter アクセス修飾子 | ドメイン クラスのアクセスのレベル (public または internal )。 これはプログラム コードがプロパティをアクセスできる範囲を制御します。 |
public |
ヘルプ キーワード | このドメイン プロパティに対して、F1 ヘルプのインデックスを作成するために使用される、オプションのキーワード。 | <なし> |
参照可能 | True の場合、ドメイン プロパティは、DSL のモデルが開いているときに、プロパティ ウィンドウに表示されます。False の場合、ドメイン プロパティは UI で非表示になります。ドメイン プロパティを読み取り専用で表示させる場合は、[読み取り専用] を設定します。 |
True |
要素名 | True の場合、このドメイン プロパティは、DSL エクスプローラーで、モデル要素の名前として表示されます。新しいモデル要素はこのプロパティに対して一意の既定値を受け取ります。 これらの値の生成方法を制御する場合は、[要素名プロバイダー] を設定します。 |
False |
読み取り専用 | True の場合、ドメイン プロパティの値は UI を使用して変更できません。 ただし、プログラムにより設定可能で、[プロパティ] ウィンドウに表示されます。ドメイン プロパティをユーザーに対して非表示にする場合は、[参照可能] を設定します。 プログラムによりアクセスを制御する場合は、[セッター アクセス修飾子] を設定します。 |
False |
種類 | ドメイン プロパティの種類 (Normal 、Calculated 、または CustomStorage )。 詳細については、「Calculated および Custom Storage プロパティ」を参照してください。 |
Normal |
Name | このドメイン プロパティの名前。 有効な識別子を指定する必要があります (SongTitle など)。 | <なし> |
メモ | このドメイン プロパティに関連付けられる非公式な注釈。 | <なし> |
Setter アクセス修飾子 | Setter 用のアクセス修飾子。 これはプログラム コードがプロパティを設定できる範囲を制御します。 | public |
Type | プロパティの種類。 使用可能な型の一覧に追加するには、DSL エクスプローラーで DSL のルートを右クリックし、[外部型の追加] をクリックします。 | String |