Mam aplikację, która używa wtyczek zarządzanych przez interfejs, a następnie dynamicznie ładuję klasy wtyczek i przesyłam je do interfejsu, aby z nimi pracować.Błąd odlewania z odbiciem
Mam następujący wiersz kodu, zakładam, że IPlugin jest moim interfejsem.
IPlugin _plugin = (IPlugin)Activator.CreateInstance(oInfo.Assembly, oInfo.FullyQualifiedName)
Powinno to być całkiem proste, utworzyć instancję i przesłać ją do interfejsu. Wiem, że złożenia i w pełni kwalifikowane wartości nazw są poprawne, ale otrzymuję następujący wyjątek.
Wyjątek = System.InvalidCastException: Nie można rzutować obiektu typu „System.Runtime.Remoting.ObjectHandle” wpisać „MyNamespace.Components.Integration.IPlugin”. na MyNamespace.Components.Integration.PluginProxy..ctor (Int32 instanceid)
Jakieś pomysły co może być przyczyną tego?
nie będzie musiał oddać do 'ObjectHandle' pierwsze, w celu' Unwrap() '? – Jay
@Jay: Nie; jest zadeklarowany jako zwracający 'ObjectHandle'. Przeczytaj dokumentację. – SLaks