メンバ '<membername1>' は、ベース型 '<basetypename>' でメンバ '<membername2>' に対して暗黙的に宣言されたメンバと競合しています。'Overloads' として宣言することはできません

更新 : 2007 年 11 月

派生クラスのプロパティまたはプロシージャが、基本クラスの暗黙のメンバと同じ名前を使用し、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: BC40023

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

  • プロパティまたはプロシージャの名前を、前述の表に示した名前と競合しないように変更します。

参照

概念

宣言された要素の名前