プロシージャまたはプロパティが継承先のプロシージャまたはプロパティをオーバーライドしようとしましたが、コンパイラによって、同じ名前およびシグネチャを持つ基本プロシージャまたはプロパティの複数のバージョンが検出されました。
このエラーは、次のスケルトン宣言に示すように、ジェネリック型が構築されている場合に発生することがあります。
Public Class baseClass(Of t)
Public Overridable Sub doSomething(ByVal inputValue As String)
End Sub
Public Overridable Sub doSomething(ByVal inputValue As t)
End Sub
End Class
Public Class derivedClass
Inherits baseClass(Of String)
Overrides Sub doSomething(ByVal inputValue As String)
End Sub
End Class
derivedClass は baseClass を指定する String を型パラメーター tに継承するため、 doSomething に関する限り、 baseClass にある derivedClass の 2 つのバージョンは同じシグネチャを引き継ぎます。 その結果、コンパイラはどのバージョンをオーバーライドするか判断できません。
エラー ID: BC30935
このエラーを解決するには
メンバーのプロシージャまたはプロパティの 1 つまたは複数のシグネチャが同じにならないように、基底クラスに指定する 1 つ以上の型引数を変更します。
または
使用している一連の型引数と共に基底クラスを継承する必要がある場合は、このエラー メッセージに示されているプロシージャまたはプロパティをオーバーライドしないでください。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET