IDispatch - это интерфейс COM.CLR автоматически реализует его, если вы используете атрибуты [ComVisible (true)] и [ClassInterface (ClassInterfaceType.AutoDispatch)] в своем классе.Затем вы можете передать экземпляр класса, и приведение пройдет успешно.Затем код, вероятно, будет вызывать какой-то метод для этого класса, поэтому убедитесь, что он реализован.Из вопроса не ясно, какой это может быть метод и как должна выглядеть его подпись.Оно должно точно совпадать, несоответствие может помешать обратному вызову без диагностики.