Член <имяКласса>.<имяПроцедуры>, который совпадает с этой подписью, не может быть переопределен, поскольку класс <имяКласса> содержит несколько членов с такими же именем и подписью: <списокПодписей>
Обновлен: Ноябрь 2007
Member '<classname>.<procedurename>' that matches this signature cannot be overridden because the class '<classname>' contains multiple members with this same name and signature: <signaturelist>
Процедура или свойство пытается переопределить унаследованные процедуру или свойство, но компилятор обнаруживает несколько версий базовых процедуры или свойства с тем же именем и подписью.
Эта ошибка может возникнуть в случае со сконструированными универсальными типами, как показывают следующие объявления схемы.
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. В результате компилятор не может определить версию для переопределения.
Идентификатор ошибки: BC30935
Чтобы исправить эту ошибку
Измените тип аргумента или аргументов, передаваемых в базовый класс, чтобы в результате не получалось несколько одинаковых подписей процедур или свойств членов.
либо
Если требуется наследовать базовый класс с набором аргументов типа, не следует переопределять процедуру или свойство, цитируемые в этом сообщении.
См. также
Основные понятия
Переопределение свойств и методов