У нас есть функция VB.net со следующей сигнатурой в классе InitializerFactory:
Public Shared Function Create(ByRef ui As Object) As IModeInitializer
Я пытаюсь проверить эту функцию, передав макет пользовательского интерфейса (используя Rhino Mocks):
MainForm ui = mocks.StrictMock<MainForm>();
IModeInitializer item = InitializerFactory.Create(ref ui);
При попытке передать ui в качестве параметра я получаю следующие ошибки:
- Лучшее соответствие перегруженного метода для «InitializerFactory.Create (ref object)» имеет некоторые недопустимые аргументы.
- Аргумент '1': невозможно преобразовать из 'ref MainForm' в 'ref object'
В идеале решением было бы извлечь интерфейс из пользовательского интерфейса (или его класса, MainForm), но это ни в коем случае невозможно — это чрезвычайно раздутый класс.
Я также не могу объявить ui как Object
, иначе я не могу издеваться над методами внутри него, поскольку методы не принадлежат к типу Object
.
У меня вопрос - что я делаю не так?