Это довольно элементарный вопрос C #;мои извинения, но я не смог найти это в другом месте.
Каков наилучший способ конвертировать из Object<class>
в Object<interface>
?
Т.е.
//fake interface
interface ignu {}
//fake class which implements fake interface
class bee : ignu {}
//function which accepts a generic with the interface
function bang(template<bee>) {}
//template type but with a class that implements the interface
template<bar> foo;
//trying to call the function, but compiler complains it can't implicitly convert
bang(foo);
//compilers complains that it cannot convert from template<bee> to template<ignu>
bang((template<ignu>)bee)
Может быть, я далеко от базы, но похоже, что это должно работать и быть выполнимым, но решение ускользает от меня.
Редактировать: mygen изменен на шаблон, так как я использовал оба для ссылки нато же самое, что сбивало с толку
Редактировать: в итоге я использовал приведение типа: bang (bee.Cast ());