IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[c#] Héritage d'interface et classe générique


Sujet :

C#

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut [c#] Héritage d'interface et classe générique
    Bonjour à tous,


    j'ai un petit soucis de Polymorphisme dirons-nous.

    J'ai une classe générique défini comme ceci ou T est de type IAuthenticatable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class SimplexServerBase<T> : ServerBase<T> where T : IAuthenticatable
        {
            public SimplexServerBase(PluginBase Plugin, String RemoteAddress)
                : base(Plugin, RemoteAddress)
            {
     
            }
    J'ai l'interface suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [ServiceContract]
        public interface IContactServer : IAuthenticatable
        {
    et enfin j'essaye de faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    class Service : SimplexServerBase<IContactServer>
        {
    Le problème est que pour le compilo, IContactServer n'est pas de type IAuthenticatable, c'est la première fois que je fait des "héritages" d'une interface avec une autre...

    Erreur 3 Le type 'Interface.Contact.IContactServer' ne peut pas être utilisé comme paramètre de type 'T' dans le type ou la méthode générique 'Interface.Plugin.SimplexServerBase<T>'. Il n'y a pas de conversion de référence implicite de 'Interface.Contact.IContactServer' en 'Interface.Plugin.IAuthenticatable'. Q:\WPFDesktop\Plugin_Contact\Communication\Service.cs 17 11 Plugin_Contact
    Est-il possible de faire ce que je souhaite et si non pouvez-m'expliquer pourquoi le compilo ne peut pas remonter à l'interface mère ? Ce n'est peut-être pas un vrai héritage IContactServer contient bien tout les élément mais n'a plus aucun lien avec l'interface mère ??

    Merci d'avance,
    Cordialement,
    NeoKript

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 493
    Points
    5 493
    Par défaut
    Bonjour, tout semble correct donc la seule possibilité qui me vienne est que SimplexServerBase et IContactServer font référence à des versions différentes de IAuthenticatable (pas le même espace de noms ou pas la même assembly).

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Salut et merci pour ta réponse. Honte à moi. En déplaçant l'interface d'un projet à l'autre je n'avais pas fais gaffe qu'elle n'avais pas été supprimer du projet initial...


    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Interface, classe abstraite ou classe générique
    Par Maurine dans le forum Général Java
    Réponses: 0
    Dernier message: 27/08/2013, 15h14
  2. Réponses: 4
    Dernier message: 21/05/2010, 10h46
  3. Classe générique et héritage
    Par Picolo18 dans le forum Langage
    Réponses: 17
    Dernier message: 14/12/2008, 14h17
  4. [Generics] Classe générique
    Par norkius dans le forum Langage
    Réponses: 4
    Dernier message: 29/10/2004, 15h57
  5. transtypage d'interface en classe
    Par T0ch dans le forum Langage
    Réponses: 5
    Dernier message: 27/05/2004, 19h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo