Name は変数名、Type はその型です。
field の作成時には、自動的に初期化されます。たとえば、数値 field は 0、矩形と Region は空の値で初期化されます。
field のスコープとアクセス
ElementName.FieldName の形式で field の完全名を使用します (例: SearchElements.StaticText1.x) 。要素内では、その field には x という名前でアクセスできます。複合要素の場合は、そのサブ要素も (ネストのレベルに関係なく) 短縮名でその field にアクセスできます。
要素の仮説を表す複雑な式の値は、計算してプロパティに書き込むことができます。その後、この値には検索ツリー内でそれより下位にある任意の要素から、必要になるたびに再計算することなくアクセスできます。これにより、FlexiLayout のマッチングに必要な時間が短縮され、大きな式を各要素にコピーする必要がなくなり、コードの可読性も向上します。
field の命名に関する制限
- 1 つの要素内では、field 名は一意である必要があります。
- 複合要素内の要素名は、そのサブ要素 (ネストされたすべてのレベルを含む) 内のいずれの field 名とも一致してはなりません。
- 複合要素の field 名は、その配下のいずれのサブ要素名とも一致してはなりません。
例: ユーザー定義プロパティでマッチングを高速化する
fromMoscow プロパティを定義しています。このプロパティは、City 要素が検出され、その値が “Moscow” の場合は true、それ以外の場合は false になります。
External fields セクションの City 要素のコード:
