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

 .NET Discussion :

fonction generic carre


Sujet :

.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 19
    Points
    19
    Par défaut fonction generic carre
    Bonjour

    je cherche a creer un fonction générique carre (qui peut accepeter tous les types simple double ect )

    j'ai essayé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Public Function carre(Of t)(ByVal x As t) As t
            Return x * x
     
        End Function
    Mais L'opérateur '*' n'est pas défini pour les types 't' et 't'

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Là, tu t'aventures sur un terrain franchement hostile

    Effectivement, l'opérateur '*' (comme la plupart des opérateurs d'ailleurs) n'est pas défini pour tous les types, mais seulement sur les types numériques (et peut-être quelques autres). Et on ne peut malheureusement pas mettre de contrainte générique du genre "T est Int32 ou Double ou ..."

    Une solution possible est de jouer avec les Expressions Linq, comme expliqué ici :
    http://www.yoda.arachsys.com/csharp/...operators.html

    C'est pas très simple à comprendre, mais tu peux récupérer la classe toute faite dans la librairie MiscUtil. Par contre c'est du C#, donc le plus simple c'est que tu prennes la DLL MiscUtil et que tu la références dans ton projet. Et tu l'utilises comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Public Function carre(Of t)(ByVal x As t) As t
            Return Operator(Of t).Multiply(x, x)
        End Function

Discussions similaires

  1. Fonction racine carré
    Par naruto-next dans le forum C
    Réponses: 14
    Dernier message: 03/03/2010, 22h55
  2. Fonction racine carrée entière
    Par kimikou dans le forum Général Python
    Réponses: 4
    Dernier message: 01/02/2009, 16h06
  3. fonction racine carré
    Par goldensun dans le forum Débuter
    Réponses: 14
    Dernier message: 29/10/2008, 11h50
  4. une fonction Generics
    Par Pirokkk dans le forum Langage
    Réponses: 12
    Dernier message: 08/01/2008, 23h55
  5. Utilisation de la fonction racine carré
    Par derf_r dans le forum Access
    Réponses: 3
    Dernier message: 23/11/2005, 16h30

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