Как я могу сделать пользовательский QueryInterface для .NET 3.5? - PullRequest
3 голосов
/ 14 октября 2010

У меня установлена ​​сборка .NET для COM, и я хочу создать пользовательский интерфейс QueryInterface, в противном случае мой Class должен будет реализовать множество интерфейсов.

В настоящее время моя реализация выглядит так

[ComVisible(true]
[ProgId("SomeLib.SomeClass")]
[Guid("516E4529-38F1-44EE-B340-ABFA498DC922")]
public class MyClass : Interface1, Interface2......, etc

Я хочу, чтобы мой класс не реализовывал эти интерфейсы, но когда вызывается QueryInterface для возврата объекта, реализующего запрошенный интерфейс. Я знаю, что эта функция существует для .NET Framework 4.0 (см. ICustomQueryInterface ). К сожалению, мне нужно сделать это в 3.5

1 Ответ

1 голос
/ 18 декабря 2012

Начиная с .NET 4.0, вы можете сделать это.Для этого вы можете использовать ICustomQueryInterface .См. Также пример использования и другой образец .

...