.NET: Objekt kann nicht in die von ihm implementierte Schnittstelle umgewandelt werden

Ich habe eine Klasse (TabControlH60), die sowohl von einer Basisklasse (UserControl) erbt als auch eine Schnittstelle (IFrameworkClient) implementiert. Ich instanziiere das Objekt mit der .NET Activator-Klasse. Mit der zurückgegebenen Instanz kann ich in die UserControl-Basisklasse, aber nicht in die Schnittstelle umwandeln. Die Ausnahme, die ich bekomme, ist unter dem Code-Snipet. Wie kann ich auf die Benutzeroberfläche umwandeln?

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'."}

Antworten auf die Frage(8)

Ihre Antwort auf die Frage