Работает ли динамически с IUnknown и Typelib - PullRequest
0 голосов
/ 29 сентября 2011

В настоящее время я экспериментирую с динамическим программированием в C # 4 и не до конца понимаю, при каких условиях работает ключевое слово dynamic. Мне понятно, что он работает с IDispatch, так как он позволяет автоматически сообщать вызывающей стороне информацию о типе. Но разве это не должно работать с IUnknown и типом lib? (В http://samgentile.com/Web/vs2010-and-net-framework-4-0/c-4-0-bcl-4-series-dynamic-primitive-type-part-1/ я обнаружил смутный намек на то, что привязка к IUnknown должна быть возможной.)

  • IUnknown w / o typelib: не должно работать, интерфейсы должны быть написаны явно на C #, поэтому я не пробовал. (Подтверждено Хансом Пассантом в динамическом объекте C # 4.0 и интерфейсах WinAPI, таких как IShellItem (без определения их в источнике C #) * .)
  • IUnknown w / type lib: я понятия не имею, работает ли он и как он работает, поскольку я не нашел четкой информации. (Я связал тип lib в dll COM, но DLR не смог связать методы.)

Так работает ли IUnknown w / type lib с динамическим ключевым словом C #? - Если так, что я должен сделать?

1 Ответ

0 голосов
/ 11 апреля 2012

В настоящее время я считаю, что COM-связыватель работает только с IDispatch, а не с IUnknown вообще.

...