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?

InitialExpression

このプロパティの初期値を指定します。

使用法

このプロパティの初期値を指定するには、以下の構文を使用します。

Property name As classname [ InitialExpression = initialexpression ];

initialexpression は、中括弧で囲まれた、定数または ObjectScript 式です。

詳細

このキーワードは、プロパティの初期値を指定します。新規のインスタンスが生成される際に、そのクラスの %New() メソッドが、この値を割り当てます (プロパティが一時的な場合、その初期値は、インスタンスが生成される際に %New() によって実行されるコード、または、インスタンスがディスクからメモリにロードされる際に %OpenId() によって実行されるコードのいずれかによって決定されます)。

初期値式の値は、特定のプロパティ・タイプに適したものとする必要があります。

どのような複雑な式でも指定できますが、以下の制限があります。

  • 初期値式は他のプロパティを参照できません。つまり、{..otherpropertyname} のような式は無効です。

  • 初期値式はオブジェクトをインスタンス化できず、オブジェクト参照を含むことができません。

  • 初期値式は、インスタンス・メソッドを呼び出すことができません (クラス・メソッドのみ)。

  • 初期値式は、ObjectScript で指定する必要があります。クラスが、MVBasic など、他の言語で記述されている場合でも同様です。

  • 式によって実行されたコードではエラーをレポートしないでください。Caché には、式から返されたエラーを処理する方法は用意されていません。

  • 式から実行されたコードに起因して他の処理が発生した場合、Caché には、その処理結果に対処する方法は用意されていません。

サブクラスは InitialExpression キーワードの値を継承し、それをオーバーライドできます。

既定値

InitialExpression キーワードの既定値は、NULL です。

以下の例は、ObjectScript 式の使用例です。

Property DateTime As %Date [ InitialExpression = {$zdateh("1966-10-28",3)} ];

Property MyString As %String [ InitialExpression = {$char(0)} ];

/// this one is initialized with the value of a parameter
Property MyProp As %String [ InitialExpression = {..#MYPARM} ];

/// this one is initialized by a class method
Property MyProp2 As %Numeric [ InitialExpression = {..Initialize()} ];

関連項目

FeedbackOpens in a new tab