' ' <elementname> にこの名前のメンバーの種類が複数存在するため、' ' はあいまいです。 <type> <typename>'<elementname>' is ambiguous because multiple kinds of members with this name exist in <type> '<typename>'

式は、同じ名前の 1 つ以上のメンバーを格納しているクラス、構造体、モジュール、またはインターフェイスで定義されているプログラミング要素にアクセスします。An expression accesses a programming element defined in a class, structure, module, or interface that contains more than one member with the same name.

このエラーの最も可能性の高い原因は 大文字と小文字の区別です。The most likely cause of this error is case sensitivity. Visual Basic の名前は小文字を区別しません。つまり、コード内のさまざまな場所で名前の大文字と小文字を変えて指定できます。Visual Basic names are case-insensitive, which means you can capitalize them differently at different places in your code. たとえば、変数を名前 XYZ で定義 し、後で xyzとしてアクセスする場合、コンパイラは 2 つの名前を同等とみなします。For example, if you define a variable with the name XYZ and later access it as xyz, the compiler considers the two names to be equivalent.

ただし、 C#Visual C++などの他の言語では、大文字と小文字が区別されます。However, other languages, such as C# and Visual C++, are case-sensitive. そうした言語では、 XYZxyz は同じ名前とみなされません。In such a language, XYZ and xyz are not considered to be the same name. そのため、このような言語で記述されたクラスでは、 XYZ という名前変数と xyzという名前のプロパティを定義できます。Therefore, a class written in such a language could define a variable named XYZ and a property named xyz. 共通言語ランタイム (CLR) では、アセンブリでの大文字小文字の区別が保持されます。The common language runtime (CLR) preserves case sensitivity in assemblies. ただし、Visual Basic アプリケーションが XYZ および xyzという名前のアセンブリにアクセスする場合、それらは同じ名前として表示されます。However, if a Visual Basic application accesses an assembly with names XYZ and xyz, they appear as the same name.

エラー ID: BC31429Error ID: BC31429

このエラーを解決するにはTo correct this error

  1. 定義する型のソース コードを制御できる場合は、大文字と小文字の違いのほかに区別がつくように、メンバーの名前変更を検討します。If you have control over the source code of the defining type, consider renaming the members so that they differ by more than only casing. これは、定義する型が既に発行されて、他のアプリケーションで使用されている場合は実行できない場合があります。This might not be possible if the defining type has already been published and is being used by other applications.

  2. 定義する型のメンバーの名前を変更できない場合は、コードから問題のプログラミング要素を削除します。If you cannot rename the members in the defining type, remove the cited programming element from your code. Visual Basic で複数の定義を持つように表示される要素にアクセスすることはできません。You cannot access an element that appears to Visual Basic to have multiple definitions.

関連項目See also