Во-первых, если вы не используете позднюю привязку, вам нужно присвоить sprIn переменной правильного типа, а затем использовать эту переменную вместо sprIn (в качестве альтернативы вы можете изменить сигнатуру метода на правильный тип). Мы не можем знать, что это за тип, поэтому нет рабочего примера кода. Это лучшее, что мы можем сделать, не зная типа. Сначала убедитесь, что опция Infer On установлена для этого файла или проекта, затем ...
Dim newSprd = trycast(sprIn, TheCorrectFarSpreadType)
Затем вы можете заменить все случаи использования, кроме одного в сигнатуре метода и приведенной выше строке, на newSprd.
Во-вторых, sprIn объявляется как ByRef, но не должно быть. Он не присваивает новое значение и не передается в методе, который присваивает новое значение byref.
Наконец, я знаю, что упомянул позднюю привязку как альтернативу правильному типу, но поздняя привязка должна быть зарезервирована для ситуаций, когда вам нужна типизированная утка. Учитывая, что это событие, которое находится под ударом, это не так здесь.