Bonjour,

j'ai une interface générique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public interface IServiceBase<T> where T : EntityObject
une classe de service implémentant cette interface :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public class ServiceToto : IServiceBase<mObject> {}
(mObject dérive de EntityObject.)

ainsi qu'une autre classe générique prenant comme paramètre générique un objet de type IServiceBase et un objet de type EntityObject :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public class FormBase<T,U> 
where T : EntityObject 
where U : IServiceBase<T>
{  }
la compilation des différentes dll dans lesquelles se trouvent ces classes se passe sans problème , seulement voila quand je veux utiliser la classe FormBase par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public partial class FormToto : FormBase<mObject, ServiceToto>
{
 
}
à la compilation j'ai une erreur :
mObject ne peut pas être utilisé comme paramètre de type 'U' dans le type ou la méthode générique 'FormBase<T,U>'. Pas de conversion de référence implicite de 'ServiceToto' en 'IServiceBase<mObject>'
je n'arrive pas à voir comment faire et surtout d'ou vient le problème.

Merci d'avance pour toute aide, piste, conseils...