Skip to main content

Calculated (プロパティ・キーワード)

このプロパティを含むオブジェクトがインスタンス化される際に、プロパティにメモリ内ストレージを割り当てないことを指定します。

使用法

プロパティにメモリ内ストレージを割り当てないことを指定するには、以下の構文を使用します。

Property name As classname [ Calculated ];

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

詳細

このキーワードは、このプロパティを含むオブジェクトがインスタンス化される際に、プロパティにメモリ内ストレージを割り当てないことを指定します。

メモリ内ストレージが必要ないプロパティを定義するときに、このキーワードを使用します。このプロパティに値を指定する方法には、次の 2 つがあります。

  • プロパティのための Get (場合によっては、Set) メソッドを定義します。例えば、Age プロパティの場合は、AgeGet メソッドを提供することで、ある人物の現在の年齢を、現在日時、およびその人物の DateOfBirth プロパティの値に基づいて判断できます。"プロパティ・メソッドの使用とオーバーライド" を参照してください。

  • このプロパティを計算プロパティとして定義します。これにより、SqlComputed キーワードおよび関連キーワードが使用されます。"計算プロパティの定義" を参照してください。

サブクラスは Calculated キーワードを継承しますが、それをオーバーライドできません。

SQL テーブルのインデックスに、Calculated キーワードを持つプロパティを含めるには、SqlComputed キーワードと SqlComputeCode キーワードも指定する必要があります。Calculated プロパティでインデックスを持つクラスをコンパイルする場合、このプロパティに SqlComputed キーワードと SqlComputeCode キーワードも指定しないと、システムは次のエラー・メッセージを返します。

ERROR #5414: Invalid index attribute: <classname>::<indexname>::<propertyname>
ERROR #5030: An error occurred while compiling class <classname>

既定値

Calculated キーワードの既定値は、False です。

Property Age as %Integer [ Calculated ];

関連項目

FeedbackOpens in a new tab