プロパティ '<propertyname>' は、ベースクラス '<baseclassname>' でメンバ '<membername>' に対して暗黙的に宣言されたメンバと競合する '<implicitmembername>' を暗黙的に宣言します。

更新 : 2007 年 11 月

エラー メッセージ

メンバ '<membername1>' は、ベースクラス '<baseclassname>' でメンバ '<membername2>' に対して暗黙的に宣言されたメンバと競合する '<implicitmembername>' を暗黙的に宣言します。このため、'メンバ' は 'Overloads' と宣言してはなりません。

派生クラス内のプロパティが、基本クラスの暗黙的なメンバと同じ名前を持つ暗黙的なメンバを生成しており、かつ Overloads キーワードを指定しています。

同じクラスの中に複数のバージョンのプロパティまたはプロシージャを定義するには、オーバーロードを行います。基本クラスのメンバが既に Overloads を指定している場合を除いては、基本クラスのメンバの別のバージョンを定義することはできません。暗黙的なメンバは Overloads を指定していないので、コンパイラは、このプロパティが暗黙的な基本クラス メンバをShadowsしていると見なします。

Visual Basic コンパイラは、宣言されている特定のプログラミング要素に対応する暗黙のメンバを作成します。これらの暗黙または合成のメンバの説明を次の表に示します。

宣言された要素

暗黙的に作成されるメンバ

列挙値

value__ メンバ

イベント

add_<eventname> プロシージャ

remove_<eventname> プロシージャ

<eventname>Event フィールド

<eventname>EventHandler デリゲート

プロパティ

get_<propertyname> プロシージャ

set_<propertyname> プロシージャ

My.Form メンバ、My.WebService メンバ、または、MyGroupCollectionAttribute 属性でマークされたクラスのメンバ

m_<variablename>Static 変数

<variablename> プロパティ

get_<variablename> プロシージャ

set_<variablename> プロシージャ

WithEvents 変数

_<variablename> 変数

<variablename> プロパティ

get_<variablename> プロシージャ

set_<variablename> プロシージャ

名前の競合が発生する危険性があるため、これらの暗黙のメンバと同じ形式を使用して、宣言されたプログラミング要素に名前を付けることは避ける必要があります。たとえば、get_ または set_ で始まる要素名の使用は避けてください。

既定では、このメッセージは警告です。警告を表示しない方法や、警告をエラーとして扱う方法の詳細については、「Visual Basic での警告の構成」を参照してください。

Error ID: BC40024

このエラーを解決するには

  • 暗黙的な基本クラス メンバを隠ぺいまたはシャドウする場合は、プロパティ宣言内の Overloads キーワードを Shadows キーワードに置き換えます。

  • 暗黙的な基本クラス メンバをシャドウする必要がない場合は、プロパティの名前を変更して、上記の表に示した名前と衝突しないようにします。

参照

概念

宣言された要素の名前