Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

ForceGenerate (メソッド・キーワード)

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

使用法

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

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

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

詳細

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

既定値

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

関連項目

FeedbackOpens in a new tab