j ai une methode avec un param generique et de multiples contraintes sur ce type :
protected bool FuncSelector<T>(T _Item) where T: Iaa, Ibb, Icc, (etc...)
J'aimerais restreindre l'appel a cette fonction aux objets implementant soit Iaa, soit Ibb, soit Icc.
J ai, en facade, une methode pour chaque interface et leurs corps ressemble a ca :
1 2 3 4
| public bool FuncA(Iaa _Aa)
{
return this.FuncSelector<Iaa>(_Aa);
} |
idem pour Ibb et Icc
Les interfaces Iaa, Ibb, Icc n'ont pas d'interface commune.
Le problème est que la compilation echoue pour avec une erreur pour chaque fonction de facade :
The type 'Iaa cannot be used as type parameter 'T' in the generic type or method 'FuncSelector<T>(T)'. There is no implicit reference conversion from 'Iaa' to 'Ibb' .
Partager