Pluginy - błąd podczas tworzenia instancji obiektu

0

Witam

Mam taki problem, że w trakcie ładowania pluginu dostaję komunikat, że nie mogę rzutować tego typu na typ oczekiwany. Mam Interfejs ITest, oraz klasę Test, która implementuje ten interfejs. Zarówno interfejs jak i klasa są to osobne dll'ki i pluginy są ładowane dynamicznie. To jest fragment kodu, który odpowiada za utworzenie obiektu:


foreach (var pluginType in pluginTypes)
{
     ConstructorInfo ci = pluginType.GetConstructor(Type.EmptyTypes);

     ITest plugin = (ITest)ci.Invoke(null);
}

Po wykonaniu tej instrukcji dostaję błąd rzutowania. Klasa Test prawidłowo implementuje ten interfejs, gdyby było inaczej kompilator pokazał by błąd. Samo polecenie Invoke prawidłowo tworzy obiekt klasy, której oczekuję.

Z czego taki błąd może wynikać?

0

Próbowałem też za pomocą Activator i nadal jest to samo. Sprawdziłem natomiast coś takiego, że dodałem sobie referencję do projektu i na wprost utworzyłem obiekt klasy Test i zrzutowałem go do ITest i taka operacja przebiegła prawidłowo. Natomiast jeszcze jedno spostrzeżenie, po wywołaniu

var t = ci.Invoke(null);

typ obiektu t jest prawidłowy. Nie wiedzieć czemu jednak całość nie chce działać prawidłowo :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0