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 :

Fonction retourne T


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Par défaut Fonction retourne T
    Bonjour,

    Je voudrais cree une fonction ou je peux lui faire retourner se que je veux.
    List<string>, List<string []>, string .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     this.stock1.query_oracle<List<string>>(query_req, "update");
     
     
    public T query_oracle<T>(string query, string type) where T :  new()
    {
     
    ....
    T data = new T();
    data.Clear();
    ...
    return data;
    }
    Se code ne marche pas, j'ai l'erreur suivante:
    'T' does not contain a definition for 'Clear'
    Ce qui est normal mais je voudrais savoir comment resoudre se probleme.

    Merci

  2. #2
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par Marsiou Voir le message
    Se code ne marche pas, j'ai l'erreur suivante:
    'T' does not contain a definition for 'Clear'
    Ce qui est normal mais je voudrais savoir comment resoudre se probleme.
    Merci
    Dans ce cas, il va falloir définir dans ta classe T, une méthode nommée
    Clear()
    dans laquelle tu mets les instructions que tu désires exécuter lors de l'appel de cette méthode.

  3. #3
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Tu dois rajouter une autre contrainte à ta méthode, comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public T query_oracle<T>(string query, string type) where T : new(), ICollection

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Par défaut
    Quand tu utilise contol , tu a acces a toute les methodes du windows form je voudrais savoir s'il ya pas une class ou il ya toutes les methodes des Type de variable

  5. #5
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Tu pourrais être plus clair ? je comprends pas ce que tu veux exactement.
    Si tu veux faire "Clear", il faut que tu le fasses sur un objet pour lequel cette méthode est définie. Tous les objets héritent de "object", mais object n'a pas de méthode Clear, c'est pour ça que ton code marche pas. Comme tu as fait une fonction générique, tu peux spécifier des contraintes d'héritage sur le type T en faisant where T : UneClasse), et tu auras alors accès dans le corps de ta fonction aux méthodes de UneClasse.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Par défaut
    Ok, En faite T peux prendre soit une List<string>, string,...

    Je voudrais savoir si il y a une classe qui les englobes tous.
    where T : UneClass)

    Et apres je peux directement :

    ou T est une List<string>
    T data = new T();
    data.Clear();

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Citation Envoyé par Marsiou
    T peux prendre soit une List<string>, string,...
    Ça risque d'être difficile. Pour commencer string ne propose pas de méthode clear()

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

Discussions similaires

  1. Fonction retournant un pointeur
    Par Le Furet dans le forum C
    Réponses: 8
    Dernier message: 25/09/2005, 18h54
  2. Fonction retournant la partie entière d'un nombre
    Par annedjomo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/11/2004, 15h58
  3. fonction retournant une valeur
    Par ryan dans le forum ASP
    Réponses: 4
    Dernier message: 06/09/2004, 17h45
  4. Declaration de fonction retournant un pointeur sur fonction
    Par pseudokifaitladifférence dans le forum C
    Réponses: 5
    Dernier message: 11/08/2003, 19h37
  5. [Manip de fichiers] Fonction retournant des infos
    Par sans_atouts dans le forum C
    Réponses: 3
    Dernier message: 24/07/2002, 14h16

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