Имеем:
class Dummy<T>
where T : class
{
public static implicit operator T(Dummy<T> d)
{
return null;
}
}
Тестируем:
//...
class Foo { };
//...
Dummy<Foo> d = new Dummy<Foo>();
Foo f = d;
Работает. Теперь пытаемся сделать тоже самое, но с ком-обьектом в качестве параметра:
Dummy<MyComObject> d = new Dummy<MyComObject>();
MyComObject f = d;
Получаем следующее сообщение:
error CS0266: Cannot implicitly convert type 'TestInteropForCOM.Tagger.Dummy<AnyComObject>' to 'AnyComObject'. An explicit conversion exists (are you missing a cast?)
Что я не так готовлю?) Спасибо!