'<型> '<typename>' に同じ名前のメンバが多種類存在するため、'<elementname>' があいまいです。

更新 : 2007 年 11 月

式は、同じ名前の複数のメンバを含むクラス、構造体、モジュール、またはインターフェイスに定義されているプログラミング要素にアクセスします。

このエラーの最も可能性の高い原因は、大文字と小文字の区別です。Visual Basic では、名前の大文字と小文字が区別されません。つまり、コード内のさまざまな場所にある名前で大文字小文字を統一する必要はありません。たとえば、XYZ という名前で変数を定義し、後でその変数に xyz としてアクセスする場合、コンパイラは 2 つの名前を同等と見なします。

しかし、Visual C#Visual C++ など、他の言語では大文字 と小文字が区別されます。このような言語では、XYZ と xyz は同じ名前と見なされません。したがって、これらの言語で記述されたクラスでは、XYZ という名前の変数と、xyz という名前のプロパティを定義できます。共通言語ランタイム (CLR: common language runtime) は、アセンブリ内で大文字小文字の区別を維持しています。しかし、Visual Basic アプリケーションでアセンブリに XYZ および xyz の名前でアクセスする場合は、同じ名前として表示されます。

Error ID: BC31429

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

  1. 定義している型のソース コードを制御できる場合は、メンバの名前を変更して、大文字と小文字以外でも区別できるようにすることを検討します。定義している型が既に公開され、他のアプリケーションで使用されている場合はこの方法では解決できない可能性があります。

  2. 定義している型のメンバの名前を変更できない場合は、問題のプログラミング要素をコードから削除します。Visual Basic で、複数の定義を持っているとして表示される要素にはアクセスできません。

参照

処理手順

Visual Basic における変数のトラブルシューティング

概念

宣言された要素の名前

その他の技術情報

共通言語ランタイム