Tengo una aplicación que usa complementos que se administran a través de una interfaz. A continuación, carga dinámicamente las clases de complementos y las transfiere a la interfaz para que trabajen con ellas.Casting Error with Reflection
Tengo la siguiente línea de código, supongo que IPlugin es mi interfaz.
IPlugin _plugin = (IPlugin)Activator.CreateInstance(oInfo.Assembly, oInfo.FullyQualifiedName)
Esto debería ser bastante simple, cree la instancia y ejecútelo en la interfaz. Sé que el ensamblaje y los valores de los nombres completos son correctos, pero recibo la siguiente excepción.
excepción = System.InvalidCastException: No se puede fundido objeto de tipo ‘System.Runtime.Remoting.ObjectHandle’ para escribir ‘MyNamespace.Components.Integration.IPlugin’. en MyNamespace.Components.Integration.PluginProxy..ctor (Int32 instanceId)
Cualquier idea qué podría causar esto?
¿No será que necesita para echar a 'ObjectHandle' en primer lugar, con el fin de' Separar() '? – Jay
@Jay: No; se declara como devolver 'ObjectHandle'. Lee la documentación. – SLaks