.NET: Nie można rzutować obiektu na interfejs, który implementuje

Mam klasę (TabControlH60), która dziedziczy z klasy bazowej (UserControl) i implementuje interfejs (IFrameworkClient). Tworzę instancję obiektu za pomocą klasy aktywatora .NET. W przypadku zwracanej instancji mogę rzutować na klasę podstawową UserControl, ale nie na interfejs. Otrzymany wyjątek znajduje się poniżej fragmentu kodu. Jak rzucić na interfejs?

object obj = Activator.CreateInstance(objType);
Type[] interfaces = obj.GetType().GetInterfaces(); // contains IFrameworkClient

m_Client = (UserControl)obj;                 // base class cast works
IFrameworkClient fc = (IFrameworkClient)obj; // interface cast fails

// Note: The (IFrameworkClient)obj cast works fine in the debugger Watch window.
{"Unable to cast object of type 'FPG.H60.AFF.TabControlH60' to type 
    'FPG.AFF.Interfaces.IFrameworkClient'."}

questionAnswers(8)

yourAnswerToTheQuestion