Conversione Generic a interfaccia

mercoledì 04 marzo 2015 - 09.27
Tag Elenco Tags  C#  |  .NET 4.0  |  Visual Studio 2010

andrestu Profilo | Expert

scusate mi sono "incastrato" in questo problema e non ne riesco a venire a capo, allora la struttura delle classi è la seguente (ovviamente sintetizzo al massimo):

public interface IMyInterface { }
public class MyClass : IMyInterface { }
public class MyBaseManager<T> where T : IMyInterface { }
public class MyDerivedManager : MyBaseManager<MyClass> { }

a questo punto eseguo il seguente codice:

MyDerivedManager ob1 = new MyDerivedManager();
MyBaseManager<IMyInterface> ob2 = (MyBaseManager<IMyInterface>)(object)ob1; // genera eccezione

MyDerivedManager è dunque una classe che eredita da MyBaseManager però quando cerco di fare il cast mi genera eccezione, c'è modo di convertire l'istanza ob1 in MyBaseManager<IMyInterface> ?
grazie

Andrea Restucci - Web Developer
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5