У нас есть функция 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);
При попытке передать пользовательский интерфейс в качестве параметра я получаю следующие ошибки:
- Лучший перегруженный метод соответствует
'InitializerFactory.Create (ref object)' имеет несколько недопустимых аргументов
- Аргумент '1': невозможно преобразовать из 'ref MainForm' в 'ref object'
В идеале, решением было бы извлечь интерфейс в пользовательском интерфейсе (или его классе, MainForm), но это невозможно сделать любым способом - это чрезвычайно раздутый класс.
Я также не могу объявить пользовательский интерфейс как Object
, иначе я не могу высмеивать методы внутри него, поскольку методы не принадлежат типу Object
.
У меня вопрос - что я делаю не так?