Ich habe eine Anwendung, die Plugins verwendet, die über eine Schnittstelle verwaltet werden. Ich lade dann dynamisch die Plug-in-Klassen und wirf sie auf die Schnittstelle, um mit ihnen zu arbeiten.Casting-Fehler mit Reflektion
Ich habe die folgende Codezeile, angenommen, dass IPlugin meine Schnittstelle ist.
Dies sollte ziemlich einfach sein, erstellen Sie die Instanz und werfen Sie es auf die Schnittstelle. Ich weiß, dass die Assembly und voll qualifizierte Namen Werte korrekt sind, aber ich bekomme die folgende Ausnahme.
exception = System.InvalidCastException: Kann nicht gegossene Objekt vom Typ ‚System.Runtime.Remoting.ObjectHandle‘ ‚MyNamespace.Components.Integration.IPlugin‘ einzugeben. bei MyNamespace.Components.Integration.PluginProxy..ctor (Int32 instanceId)
Irgendwelche Ideen, was könnte die Ursache sein?
Wird er nicht zuerst 'ObjectHandle' werfen müssen, um' Abwickelwerkzeug() '? – Jay
@Jay: Nein; es wird deklariert, dass es "ObjectHandle" zurückgibt. Lesen Sie die Dokumentation. – SLaks