メンバ '<membername>' は、ベース型 '<basetypename>' のメンバ '<membername>' と競合しているため 'Overloads' と宣言してはなりません。

更新 : 2007 年 11 月

プロパティまたはプロシージャに Overloads キーワードを使用して、既存のプロパティまたはプロシージャを同じ名前で再度宣言していますが、既存のプロパティまたはプロシージャが基本クラスにあります。

オーバーロードはプロパティまたはプロシージャを、同じクラスの中で複数の形式で定義するために使います。基本クラスのメンバに、基本クラス内で Overloads が指定されていなければ、このメンバの別の形式を定義できません。

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

Error ID: BC40021

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

  • 基本クラスのメンバに対して別の形式を定義する必要があり、基本クラスのソース コードへのアクセスが許可されている場合は、基本クラスの定義に Overloads キーワードを追加します。

  • 基本クラスのソース コードへのアクセスが許可されていない場合は、派生クラス内でメンバをオーバーロードできません。Overloads キーワードを削除します。

  • 基本クラスのメンバの別の形式を定義するのではなく、このメンバを置き換える場合は、Overloads キーワードではなく Overrides キーワードを使います。

  • 基本クラスのメンバを、派生クラスの新しいメンバで隠ぺいする場合は、Overloads キーワードではなく、Shadows キーワードを使います。

参照

概念

プロシージャのオーバーロード

継承の基本