E2392 プロパティ %s.%s に必要なアクセッサメソッドを生成できません。これは,同じスコープにある既存のシンボル %s と名前が競合するためです (Delphi)

提供: RAD Studio
移動先: 案内検索

エラーと警告のメッセージ(Delphi) への移動

CLR では,プロパティアクセッサはフィールドではなくメソッドである必要があります。Delphi 言語では,フィールドをプロパティアクセッサとして指定できます。Delphi コンパイラは,必要なメソッドをバックグラウンドで生成します。CLS では,プロパティアクセッサメソッドの命名規則として,get_propname と set_propname が推奨されています。プロパティのアクセッサがメソッドでない場合,または指定されたメソッドが CLS の名前パターンに一致しない場合,Delphi コンパイラは CLS 準拠の名前でメソッドを生成しようとします。CLS 名前パターンに一致するメソッドがすでにクラスに存在するが,特定のプロパティに関連付けられていない場合,コンパイラは,CSL 名前パターンを持つ新しいプロパティアクセッサメソッドを生成できません。

指定されたプロパティのアクセッサがメソッドである場合,名前が競合するためにコンパイラは CLS 準拠の名前を作成できませんが,プロパティを使用することはできます。

ただし,名前が競合するためにフィールドアクセッサにかわるアクセッサメソッドを生成できない場合,プロパティは使用できず,次のエラーが示されます。