ReadOnly (プロパティ・キーワード)
プロパティが読み取り専用であることを指定します。読み取り専用にすると、その値の設定方法が制限されます。
使用法
プロパティを ReadOnly と指定するには、以下の構文を使用します。
Property name As classname [ ReadOnly ];
そのように指定しない場合は、このキーワードを省略し、キーワードの直前に単語 Not を指定します。
Important:
コレクション・プロパティには ReadOnly キーワードを使用しないでください。
詳細
このキーワードは、オブジェクト参照を使用してそのプロパティの値を設定できないことを指定します。次のように、オブジェクト参照を使用して読み取り専用プロパティの値を設定しようとしたとします。
set oref.Name = "newvalue"
この場合は、実行時に <CANNOT SET THIS PROPERTY> エラーが発生します。
同様に、プロパティが読み取り専用に定義されている場合、対応する SQL テーブル内のフィールドも読み取り専用に定義されます。読み取り専用のフィールドを SQL 文を使用して明示的に挿入または更新することはできません。これを行おうとすると、SQL エラー (SQLCODE = -138) になります。
読み取り専用プロパティの値は、以下の方法で指定できます。
-
InitialExpression キーワードを使用する。
-
SQLComputeCode キーワードを使用する。
-
"プロパティ・メソッドの使用とオーバーライド" に説明されているプロパティ・メソッド内に指定する。
これらの各方法には特定の制約があることに注意してください。
メモ
プロパティが読み取り専用と必須の両方としてマークされている場合、オブジェクト・アクセスと SQL アクセスでは動作に次のような違いがあることに注意してください。
既定値
このキーワードを省略すると、プロパティは ReadOnly ではなくなります。