j ai une methode avec un param generique et de multiples contraintes sur ce type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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' .