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 :

Classes génériques et méthodes


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut Classes génériques et méthodes
    bonjour,

    je vais essayer de faire simple

    j'ai plusieurs classes définie comme suis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    public class ImportProperty {...
     
    public class ContractTypeA : ImportProperty, IImportProperty
        {...
     
    public class ContractTypeB : ImportProperty, IImportProperty
        {...
     
    public class ImportPropertys<T> : List<T>, IImportProperties where T : ImportProperty
        {...
     
    public class ListContractTypeA : ImportPropertys<ContractTypeA>, IImportProperties
        {...
     
    public class ListContractTypeB : ImportPropertys<ContractTypeB>, IImportProperties
        {...
    j'ai aussi quelque part du code qui dis ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    ImportPropertys<ImportProperty> importProperties = new ImportPropertys<ImportProperty>(importType);
    (importProperties as IImportProperties).LoadFromFiles(fileNames);
    bs_Import.DataSource = importProperties;
    ...
    Alors, ce que moi j'aimerais, c'est que lorsque je fait appel à la méthode "interfacée" LoadFromFiles, c'est que cela appelle la méthodes de la classe T et non pas de la classe ImportPropertys.

    est-ce possible?

    merci de votre aide

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Sans connaitre le contenu ou au minimum la structure des méthodes, comment peut-on répondre à ta question ?
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    pas de problèmes
    voici!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            public void LoadFromFiles(string[] fileNames)
            {
                foreach (string fileName in fileNames)
                {
                    LoadTextFile(fileName); // ceci change en fonction de la classe
                }
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            public void LoadTextFile(string fileName)
            {
                // charger fichier en memoire
                StreamReader sr = new StreamReader(fileName);
                // Passer la ligne des noms de champs
                sr.ReadLine();
                // Populer 
                while (!sr.EndOfStream)
                {
                    this.Add(new ContractType(importType, sr.ReadLine()));
                }
                sr.Close();
            }

  4. #4
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    je rajoute au cas où la définition de l'interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    interface IImportProperties
        {
            void GroupAndSum();
            void LoadFromFiles(string[] fileNames);
            void LoadTextFile(string fileName);
        }

Discussions similaires

  1. [VS2005] Affichage de classe. Trier les méthodes.
    Par Pierre8r dans le forum Visual Studio
    Réponses: 1
    Dernier message: 12/05/2006, 18h54
  2. [C#][ADO] Classe Générique ADO
    Par tscoops dans le forum Accès aux données
    Réponses: 2
    Dernier message: 15/11/2005, 14h21
  3. classe Template et méthodes "générales"
    Par rulianf dans le forum Langage
    Réponses: 1
    Dernier message: 26/10/2005, 13h42
  4. Réponses: 6
    Dernier message: 27/07/2005, 09h06
  5. [Generics] Classe générique
    Par norkius dans le forum Langage
    Réponses: 4
    Dernier message: 29/10/2004, 15h57

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