Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ForceGenerate

メソッドをすべてのサブクラスでコンパイルする必要があるかどうかを指定します。メソッドがメソッド・ジェネレータである場合にのみ適用されます。

使用法

メソッド (メソッド・ジェネレータ) をすべてのサブクラスでコンパイルする必要があることを指定するには、以下の構文を使用します。

Method name(formal_spec) As returnclass [ CodeMode = ObjectGenerator, ForceGenerate ]
{
   //implementation
}

そのように指定しない場合は、このキーワードを省略し、キーワードの直前に単語 Not を指定します。

詳細

メソッド・ジェネレータのメソッドの場合はそのメソッドをすべてのサブクラスでコンパイルする必要があることを示します。このキーワードは、各サブクラスに必ずそのバージョンのメソッドが含まれるようにする必要があるときに役立ちます。Caché は、生成されるコードの外見がスーパークラスで生成されるコードと同じと見なした場合には、サブクラス内のメソッドをリコンパイルしません。このロジックでは、両方のクラスのインクルード・ファイルが同じかどうかについては考慮しません。このメソッドがインクルード・ファイルで定義されたマクロを使用する場合、それとは別のインクルード・ファイルをサブクラスで使用するとしても、Caché はサブクラスのメソッドをリコンパイルしません。このようなシナリオでは、メソッド・ジェネレータのために ForceGenerate を指定します。

既定値

このキーワードを省略すると、メソッドはすべてのサブクラスでコンパイルされなくなります。

関連項目

FeedbackOpens in a new tab