2010-10-14 13 views
3

J'ai .NET Assembly exposé à COM, et je veux créer une QueryInterface personnalisée, sinon ma classe devra implémenter beaucoup d'interfaces.Comment est-ce que je peux faire un Custom QueryInterface pour .NET 3.5?

Actuellement ma mise en œuvre est comme ce

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

Je veux que ma classe ne pas mettre en œuvre ces interfaces, mais quand QueryInterface est appelé à retourner un objet qui implémente l'interface demandée. Je sais que cette fonctionnalité existe pour .NET Framework 4.0 (voir ICustomQueryInterface) Malheureusement, j'ai besoin de le faire dans 3.5

+2

Vous ne pouvez pas, IUnknown est implémenté par le CLR. Patcher la v-table est trop effrayant. –

Répondre