Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1103 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#/résolu] type template avec méthodes connues par avance

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#/résolu] type template avec méthodes connues par avance

n°1474490
nargy
Posté le 13-11-2006 à 12:29:12  profilanswer
 

Bonjour à tous,
 
Je cherche à implémenter un tas de fibonacci de façon générique. C'est un arbre qui peut stocker les clés et les ordonner.
J'ai donc besoin que le template sache que le type des éléments ait un opérateur de compraison (< ou > ).
 
Avec ce code:

Code :
  1. public class TasFibo<T>
  2. {
  3.   bool inferieur(T val1,T val2)
  4.   {
  5.     return val1<val2;
  6.   }
  7. }


...le compilateur se plaint que le type T ne possède pas l'opérateur <.
 
J'ai cherché la syntaxe, qui me dit-on doit exister, mais je ne l'ai pas trouvé.... avez-vous déjà fait ce genre de chose?
 
Accessoirement: y a t-il une bonne librairie C# gratuite implémentant un tas de Fibonacci?


Message édité par nargy le 13-11-2006 à 13:43:35
mood
Publicité
Posté le 13-11-2006 à 12:29:12  profilanswer
 

n°1474496
masklinn
í dag viðrar vel til loftárása
Posté le 13-11-2006 à 12:39:21  profilanswer
 

Tu as regardé du coté d'IComparable?


Message édité par masklinn le 13-11-2006 à 12:39:44

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1474518
moi23372
Posté le 13-11-2006 à 13:13:51  profilanswer
 

pour que le compilo ne rale pas, faut lui spécifié que les objets qui seront passé, doivent posséder l'opérateur en question...
 
public class TasFibo<T> where T ....
{  
    bool inferieur(T val1,T val2)  
    {    return val1<val2;  }
}  
 
ou les "..." représenterais l'opérateur que doit posséder l'objet T...  
Maintenant, je ne sais pas comment le spécifié, regarde du coté de la doc (CONSTRAINT)
 PS: ou tu spécifie dans les contraintes, que les objets doivent implémenté l'interface ICOMPARABLE...


Message édité par moi23372 le 13-11-2006 à 13:14:30
n°1474540
nargy
Posté le 13-11-2006 à 13:43:02  profilanswer
 

Ouiiii!!!
merci les gars...
la syntaxe est (doc msdn):

Code :
  1. public class MyGenericClass<T> where T:IComparable { }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#/résolu] type template avec méthodes connues par avance

 

Sujets relatifs
[Résolu] Changer le "body background" en fonction de la résolution[RESOLU] PB avec les virgules et MYSQL ?!
[RESOLU] Flash et Firefox - incompatibilite selective[Résolu] Condition multiple "souple"
[C++] include et redefinition de type[Résolu] Effets CSS non désirés...
[RESOLU] Ordre d'execution a la creation dune form ?[résolu] Perte connexion Mysql 5 après chaque requête d'un script php
[presque résolu] Problème de Session 
Plus de sujets relatifs à : [C#/résolu] type template avec méthodes connues par avance


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR