Есть COM у которого ряд интерфейсов скрыты, т.е. их описание нельзя получить с помощью #import в с++ и с помощью tlbimp.exe в c#.
Вопрос: как работать с такими интерфейсами в C#?
В с++ мы использовали нечто подобное:
описывали сами
Re[2]: Работа с COM. Раннее связывание или interop своими ру
От:
Аноним
Дата:
20.01.10 08:58
Оценка:
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, -, Вы писали:
->>Уважаемые знатоки, как такой финт провернуть на с#?
AVK>Так же. Ручками описываешь интерфейс и вперед.
Можете прислать пример описания и процедуру присвоение. Буде признателен.
Re[2]: Работа с COM. Раннее связывание или interop своими ру
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, -, Вы писали:
->>Уважаемые знатоки, как такой финт провернуть на с#?
AVK>Так же. Ручками описываешь интерфейс и вперед.
Как это реализовать? Примерчик можно?
mirag
Re[3]: Работа с COM. Раннее связывание или interop своими ру
Здравствуйте, mirag_ga, Вы писали:
_>Здравствуйте, AndrewVK, Вы писали:
AVK>>Здравствуйте, -, Вы писали:
->>>Уважаемые знатоки, как такой финт провернуть на с#?
AVK>>Так же. Ручками описываешь интерфейс и вперед.
_>Как это реализовать? Примерчик можно?
Проще всего получить пример сделав в студии "Go to definition" для интерфейса с автоматически сгенерированным описанием. Выглядит это будет примерно так:
Здравствуйте, crable, Вы писали:
C>Здравствуйте, mirag_ga, Вы писали:
_>>Здравствуйте, AndrewVK, Вы писали:
AVK>>>Здравствуйте, -, Вы писали:
->>>>Уважаемые знатоки, как такой финт провернуть на с#?
AVK>>>Так же. Ручками описываешь интерфейс и вперед.
_>>Как это реализовать? Примерчик можно?
C>Проще всего получить пример сделав в студии "Go to definition" для интерфейса с автоматически сгенерированным описанием. Выглядит это будет примерно так: C>
C> [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
C> [TypeLibType(TypeLibTypeFlags.FOleAutomation)]
C> [Guid("BB634000-A13D-0000-000000495E1DAEA")]
C> public interface IInterface
C> {
C> // пример свойства
C> int Count { get; }
C> // примеры методов
C> string GetDescription();
C> void GetGUID(out Guid pGuid);
C> void GetHelpContext(out uint pdwHelpContext);
C> string GetHelpFile();
C> void GetSource(out string pBstrSource);
C> }
C>