générique non assignable?
Sauriez vous m'expliquer pourquoi ceci ne fonctionne pas?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| class MaClasse<T> where T : IMonInterface
{
}
class MonTruc : IMonInterface
{
}
[...]
Main()
{
MaClasse<IMonInterface> marchepas = new MaClasse<MonTruc>();
} |
Ca me dit que MaClasse<MonTruc> ne peut etre casté en MaClasse<IMonInterface>
et pourtant on pourrait tres bien faire ceci :
Code:
1 2 3 4 5
|
Main()
{
IMonInterface okok = new MonTruc();
} |
Je regrette amérement d'avoir mis la main dans les générique, dire qu'à l'origine c'etait pour éviter du code en double....
Merci d'avance.