WriteOnly (Visual Basic)

プロパティを書き込めるが、読み込みはできないことを示します。

Remarks

ルール

宣言コンテキスト。 WriteOnly は、モジュール レベルでのみ使用できます。 つまり、WriteOnly プロパティの宣言コンテキストは、クラス、構造体、またはモジュールにする必要があり、ソース ファイル、名前空間、またはプロシージャにすることはできません。

プロパティは、変数ではなく WriteOnly として宣言できます。

WriteOnly を使用するタイミング

場合によっては、使用しているコードで値を設定できても、それが何であるかを検出できないようにする必要があります。 たとえば、社会登録番号やパスワードなどの機密データは、それが設定されていないコンポーネントからはアクセスできないようにする必要があります。 このような場合は、WriteOnly プロパティを使用して値を設定できます。

重要

WriteOnly プロパティを定義して使用する場合は、次の追加の保護対策を検討してください。

  • オーバーライド。 プロパティがクラスのメンバーである場合は、既定値の NotOverridable に設定できます。Overridable または MustOverride としては宣言しないでください。 これにより、派生クラスがオーバーライドによって不要なアクセスを行うのを防ぐことができます。

  • アクセス レベル。 プロパティの機密データを 1 つ以上の変数に保持する場合は、他のコードがアクセスできないように、Private として宣言してください。

  • 暗号化。 すべての機密データを、プレーンテキストではなく暗号化された形式で保存します。 悪意のあるコードが何らかの方法でメモリ領域にアクセスできた場合は、そのデータを使用するのが難しくなります。 暗号化は、機密データをシリアル化する必要がある場合にも役立ちます。

  • リセット。 プロパティを定義するクラス、構造体、またはモジュールが終了しているときに、機密データを既定値またはその他の意味のない値にリセットします。 これにより、メモリの領域が一般的なアクセス用に解放されているときに、追加の保護が提供されます。

  • 永続性。 機密データは、ディスクなどにはなるべく保存しないでください。 また、機密データをクリップボードに書き込まないでください。

WriteOnly 修飾子は、次のコンテキストで使用できます。

Property ステートメント

関連項目