J'ai une application qui utilise des plugins qui sont gérés via une interface, puis je charge dynamiquement les classes de plugin et les envoie à l'interface pour les utiliser.Erreur de moulage avec réflexion
J'ai la ligne de code suivante, supposons que IPlugin est mon interface.
IPlugin _plugin = (IPlugin)Activator.CreateInstance(oInfo.Assembly, oInfo.FullyQualifiedName)
Ceci devrait être plutôt simple, créer l'instance et la transtyper dans l'interface. Je sais que l'assembly et les valeurs de nom complet sont corrects, mais j'obtiens l'exception suivante.
Exception = System.InvalidCastException: impossible à objet coulé de type « System.Runtime.Remoting.ObjectHandle » au type 'MyNamespace.Components.Integration.IPlugin. à MyNamespace.Components.Integration.PluginProxy..ctor (Int32 instanceId)
Toutes les idées ce qui pourrait être la cause?
aura-t-il pas besoin de jeter à 'ObjectHandle' d'abord, afin de' Déballer() '? – Jay
@Jay: Non; il est déclaré comme renvoyant 'ObjectHandle'. Lisez la documentation. – SLaks