Mam klasę (TabControlH60), która dziedziczy z klasy bazowej (UserControl) i implementuje interfejs (IFrameworkClient). Wykonuję instancję obiektu przy użyciu klasy .NET Activator. W przypadku zwróconej instancji mogę rzutować na klasę bazową UserControl, ale nie na interfejs. Wyjątek, który otrzymuję, znajduje się poniżej kodu snipet. Jak przesyłać do interfejsu?.NET: Nie można rzutować obiektu na interfejs implementuje
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'."}
Po ponownym przeczytaniu twojego pytania, nie sądzę, że to było to, czego chciałeś. Przepraszam :) – cwap
Operatorem "as" jest dokładnie to, czego nie chcesz * używać podczas debugowania błędów odlewania (po cichu połkocze wyjątki, nie pozostawiając łatwego sposobu debugowania, dlaczego obsada się nie powiodła) – ckarras