begin process at 2010 02 10 10:20:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Mono

 > 

Général

 > 

Fonction générique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction générique

mercredi 25 février 2009 à 15:50:50 | Fonction générique

Selig

Bonjour j'ai un problème pour créer une fonction générique.

La fonction se présente comme :

public bool MaFonction<T> (T min,T max, T value)
{
      if (value < min || value > max)
      {
            return false;
      }
      else
      {
            return true;
      }
}

l'appel de la fonction se présente comme ca:

if(!Mafonction<UInt32>(0,9999,maValue)
{
      ...
}

Le problème vient du fait qu'il ne veut pas comparer (<) deux éléménts de type 'T'.

Je ne me souviens pas qu'il y avait ce genre de problème en C++.

Merci d'avance,
mercredi 25 février 2009 à 20:45:35 | Re : Fonction générique

Robert33

Membre Club
Réponse acceptée !
Bonsoir,

je pense qu'il faut préciser au compilateur que les valeurs sont comparable.
Essaye
    public static bool MaFonction<T>(T min, T max, T value)
               where T : System.IComparable<T>
        {
            if (value.CompareTo ( min) >0 || value.CompareTo(max)<0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
mercredi 25 février 2009 à 20:50:38 | Re : Fonction générique

Robert33

Membre Club
Au fait, oui en C** c'étair different.

En C++ c'etait le compilateur qui generait le code en raplaçcant le "template" par le type d'appel, il générait donc autant de fonction que nécéssaire.
en c# il semble que ce soit fait à l'instaciation, il faut donc indiquer au compilateur que ce sera instaciable.
mercredi 25 février 2009 à 21:39:16 | Re : Fonction générique

Selig

Merci beaucoup pour ton aide, cela fonctionne parfaitement :).


Cette discussion est classée dans : problème, fonction, mafonction, présente, générique


Répondre à ce message

Sujets en rapport avec ce message

Utiliser une fonction d 'une DLL [ par demich_g ] Bonjour,J'ai besoin de votre savoir:J'aimerais utiliser une fonction d'une DLL. J'ai référencé la DLL (vbPCapLib.dll) dans mon projet et le problème s Problème de passage de variables ... [ par nyoto ] Hello à tous ...Je suis en train de coder une appli qui génère dynamiquement des boutons en fonction d'un choix dans un menu déroulant.Je voudrais ens Problème avec un zoom [ par Dlyan ] Bonjour, j'ai crée une sorte de zoom en multipliant la largeur et la hauteur en fonction de l'intensité du zoom (25%,50%,100%,200%) = (width*0.25,he Reflection, fonction et évènements [ par sebbianco ] Bonjour, Je vous écris pour essayer de résoudre un petit problème en c#. L'idée générale de se problème est : J'ai une classe A{ event EntreeHandler E Problème d'héritage [ par fregolo52 ] Bonjour,Je coince un peu dans mes déclarations.J'ai un objet générique dont dérive mes classe :Cette classe implémente l'interface IXmlSerializablepub Allocation mémoire [ par sephiro ] Je débute en C# et je travaille surtout en C++En C# pas besoin de libérer la mémoire OK, mais si je passe en parametre à une fonction un pointeur sur problème de déclaration de fonction de classe [ par otavioreis ] Bonjour,   <p class="MsoNormal" st Fonction retournant un type générique [ par jamesbidon ] Voila je cherche a faire une méthode qui prend a la fois un type générique comme paramètre et qui retourne également un type générique . Ex : [code= problème de boot sur un installer [ par piwane ] bonjour, lorsque j'installe mon appli faite en C# via son MSI, tout se passe bien. généralement, au boot de windows, l'appli se lance bien comme dema Windows 7] Problème d'autorisation lors de l'accès au registre "ClassesRoot" [ par tabouille ] Bonjour, J'ai besoin sous Windows 7, d'ajouter dans le menu contextuel du bureau une entrée. Et pour cela je doit me rendre dans la base de registre


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales