メンバー '<メンバー名>' は、基本データ型 '<基本データ型名>' 内のメンバー '<メンバー名>' と競合するため、'Overloads' として宣言できません

プロパティまたはプロシージャが、同じ名前を持つ既存のプロパティまたはプロシージャを再宣言するために Overloads キーワードを使用していますが、既存のプロパティまたはプロシージャは基底クラスに存在しています。

オーバーロードは、すべて同じクラス内にある、複数のバージョンのプロパティまたはプロシージャを定義するために使用されます。 基底クラスのメンバーが既に Overloadsを指定しているのでなければ、基底クラスのメンバーの追加バージョンを定義することはできません。

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

エラー ID: BC40021

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

  • 基底クラスのメンバーの追加バージョンを定義しようとしていて、基底クラスのソース コードにアクセスできる場合は、 Overloads キーワードを基底クラスの定義に追加します。

  • 基底クラスのソース コードへのアクセス権がない場合は、派生クラスのメンバーをオーバーロードすることはできません。 Overloads キーワードを削除します。

  • 基底クラスのメンバーの追加バージョンを定義するのではなく、そのメンバーを置換するには、Overloads ではなく、Overrides を使用します。

  • 派生クラスの新しいメンバーで基底クラスのメンバーを隠ぺいする場合は、 Overloads ではなく、 Overloadsを指定しているのでなければ、基底クラスのメンバーの追加バージョンを定義することはできません。

関連項目