Ho una classe (TabControlH60) che eredita da una classe base (UserControl) e implementa un'interfaccia (IFrameworkClient). Istanziato l'oggetto utilizzando la classe .NET Activator. Con l'istanza restituita, posso eseguire il cast sulla classe base UserControl, ma non sull'interfaccia. L'eccezione che ottengo è sotto il codice snipet. Come faccio a trasmettere all'interfaccia?.NET: impossibile eseguire il cast dell'oggetto per interfacciare implementa
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'."}
Dopo aver riletto la tua domanda, non penso che questo fosse ciò che volevi. Scusa :) – cwap
L'operatore "as" è esattamente ciò che * non si desidera * utilizzare durante il debug degli errori di cast (in silenzio inghiotte le eccezioni, non lasciando un modo semplice per eseguire il debug perché il cast non è riuscito) – ckarras