.", соответствующий этой сигнатуре, не может быть переопределен, так как класс "" содержит несколько элементов с таким же именем и подписью: - Visual Basic | Microsoft Learn"
data-list-item-url="/dotnet/visual-basic/misc/bc30935"
data-list-source="module"
data-resource-type=""
data-bi-name="add-to-list"
aria-describedby="popover-content"
aria-expanded="false"
>
Сохранить
<Имя класса> члена.<>имя процедуры, соответствующее этой сигнатуре, не может быть переопределено, так как класс "<classname>" содержит несколько членов с таким же именем и подписью: <список подписей>
Процедура или свойство пытается переопределить унаследованную процедуру или свойство, но компилятор обнаруживает несколько версий базовой процедуры или свойства с тем же именем и сигнатурой.
Эта ошибка может возникнуть в случае сконструированного универсального типа, как показывают приведенные ниже схематические объявления.
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
Измените аргумент или аргументы типа, передаваемые в базовый класс, чтобы в результате не получалось несколько одинаковых сигнатур процедур или свойств членов.
–или–
Если нужно унаследовать базовый класс с используемым набором аргументов типа, не переопределяйте процедуру или свойство, указанные в этом сообщении об ошибке.