Неявное приведение <имяТипа1> к <имяТипа2> при копировании значения параметра <имяПараметра>, объявленного как ByRef, обратно в соответствующий аргумент.
Обновлен: Ноябрь 2007
Implicit conversion from '<typename1>' to '<typename2>' in copying the value of 'ByRef' parameter '<parametername>' back to the matching argument.
Процедура вызывается с помощью аргумента ByRef типа, отличного от соответствующего ему параметра.
При передаче аргумента ByRefVisual Basic иногда копирует его значение в локальную переменную в процедуре вместо передачи ссылки. В таком случае, когда процедура возвращает результат, Visual Basic должен скопировать значение локальной переменной обратно в аргумент в коде вызова.
Если значение аргумента ByRef копируется в процедуру и аргумент и параметр имеют один и тот же тип, то преобразование не требуется. Но если типы различны, то Visual Basic должен выполнить преобразование в обоих направлениях. Поскольку невозможно использовать CType или любые другие ключевые слова для определения параметра или аргумента процедуры преобразования, такое преобразование всегда является неявным.
По умолчанию это сообщение является предупреждающим. Дополнительные сведения о скрытии предупреждений или их обработке как ошибки см. в разделе Настройка предупреждений в Visual Basic.
Идентификатор ошибки: BC41999
Чтобы исправить данную ошибку
По возможности следует использовать аргумент вызова того же типа, что и параметр процедуры, чтобы для Visual Basic не было необходимости выполнять какие-либо преобразования.
Если необходимо вызвать процедуру с аргументом, тип которого отличается от типа параметра, но нет необходимости возвращать результат в аргумент вызова, то определите параметр как ByVal, а не ByRef.
См. также
Основные понятия
Параметры и аргументы процедуры