Нет доступных методов< "procedurename>", совместимых с подписью делегата "<делегат_>":<suberrorlist>

Оператор присваивания назначает адрес процедуры переменной делегата, но компилятор не может найти версию процедуры с соответствующей сигнатурой.

Когда код использует адрес процедуры, компилятор пытается найти версию этой процедуры со списком параметров, который соответствует списку делегата. Если процедура определена в нескольких перегруженных версиях, компилятор пытается найти одну версию с соответствующей сигнатурой. Дополнительные сведения см. в разделе Overload Resolution.

Если компилятор не может найти какую-либо версию процедуры с соответствующей сигнатурой, он выдает эту ошибку. Это может произойти, например, если процедура или делегат является универсальным объектом, и в этот объект передается аргумент типа, предоставляющий сигнатуру, которая не соответствует другой сигнатуре.

Идентификатор ошибки: BC30950

Исправление ошибки

  1. Переопределите процедуру или делегат так, чтобы они имели соответствующие списки параметров.

    –или–

    Определите новый делегат со списком параметров, соответствующим списку параметров процедуры, или определите новую процедуру со списком параметров, соответствующим списку делегата.

  2. Если либо процедура, либо делегат является универсальным объектом, то передайте в этот объект аргумент типа, который обеспечит соответствие его сигнатуры другой сигнатуре.

См. также