Ich habe .NET Assembly COM ausgesetzt, und ich möchte eine benutzerdefinierte QueryInterface erstellen, andernfalls wird meine Klasse eine Menge von Schnittstellen implementieren müssen.
Derzeit sieht meine Implementierung folgendermaßen aus
[ComVisible(true]
[ProgId("SomeLib.SomeClass")]
[Guid("516E4529-38F1-44EE-B340-ABFA498DC922")]
public class MyClass : Interface1, Interface2......, etc
Ich möchte, dass meine Klasse diese Schnittstellen nicht implementiert, sondern beim Aufruf von QueryInterface ein Objekt zurückgibt, das die gewünschte Schnittstelle implementiert. Ich weiß, dass diese Funktion für .NET Framework 4.0 existiert (siehe ICustomQueryInterface ) Leider muss ich es in 3.5 machen
2 Stimmen
Sie können nicht, IUnknown wird von der CLR implementiert. Parcheando die v-Tabelle ist zu gruselig.