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

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Problème de surcharge [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] Problème de surcharge [RESOLU]

n°1023200
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 11:58:43  profilanswer
 

salut tous,
 
j'ai un soucis sous visual studio .net
J'ai une classe Releve avec une méthode  
public string GetNomFichier() {}
Je veux la surcharger dans la classe saisie qui en hérite.
Donc, je mets  
public override string GetNomFichier() {}
 
Pourquoi visual me mets : "D:\SIG_RT\Noyau\Saisie.cs(21): 'SIG_RT.Saisie.GetNomFichier()' : ne peut pas substituer le membre hérité 'SIG_RT.Releve.GetNomFichier()', car il n'est pas marqué comme virtual, abstract ni override" ???


Message édité par Fraisouille le 24-03-2005 à 12:32:03
mood
Publicité
Posté le 24-03-2005 à 11:58:43  profilanswer
 

n°1023211
FlorentG
Unité de Masse
Posté le 24-03-2005 à 12:06:38  profilanswer
 

Faut déclarer la première méthode différemment :

public virtual string GetNomFichier() {}

n°1023213
FlorentG
Unité de Masse
Posté le 24-03-2005 à 12:06:54  profilanswer
 

Si toutefois "virtual" est l'équivalent de "overridable" en vb.net

n°1023222
Taz
bisounours-codeur
Posté le 24-03-2005 à 12:09:07  profilanswer
 

public virtual string GetNomFichier() {}
 
 
c'est pas correct.
 
 
virtual déclares la possibilité de surcharge

n°1023233
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 12:13:07  profilanswer
 

en gros, faut que le lui dise que ma méthode GetNomFichier a le droit d'être surchargée dans ses classes filles, c'est ça ?

n°1023235
FlorentG
Unité de Masse
Posté le 24-03-2005 à 12:13:25  profilanswer
 

Voilà :)

n°1023238
Taz
bisounours-codeur
Posté le 24-03-2005 à 12:14:08  profilanswer
 

ben je sais pas ce que tu veux faire. si tu veux faire du virtual abstract, ben fais le. Ou fais une interface.
 
 
ET PUIS LES GET CA PUE ON EN FAIT PAS EN C#

n°1023239
FlorentG
Unité de Masse
Posté le 24-03-2005 à 12:14:37  profilanswer
 

Taz a écrit :

public virtual string GetNomFichier() {}
 
 
c'est pas correct.
 
 
virtual déclares la possibilité de surcharge


Ben oui, et du coup la méthode qui surcharge doit être en override :??:

n°1023240
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 12:14:38  profilanswer
 

FlorentG a écrit :

Faut déclarer la première méthode différemment :

public virtual string GetNomFichier() {}



 
Gagné ! Merci les gars

n°1023242
FlorentG
Unité de Masse
Posté le 24-03-2005 à 12:14:57  profilanswer
 

Taz a écrit :

ben je sais pas ce que tu veux faire. si tu veux faire du virtual abstract, ben fais le. Ou fais une interface.
 
 
ET PUIS LES GET CA PUE ON EN FAIT PAS EN C#


lol, il devrait utiliser une propriété plutôt ;)

mood
Publicité
Posté le 24-03-2005 à 12:14:57  profilanswer
 

n°1023245
Taz
bisounours-codeur
Posté le 24-03-2005 à 12:15:15  profilanswer
 

Fraisouille a écrit :

Gagné ! Merci les gars


public virtual string GetNomFichier() {}
 
perdu, ça compile pas.

n°1023249
FlorentG
Unité de Masse
Posté le 24-03-2005 à 12:16:20  profilanswer
 

Taz a écrit :

public virtual string GetNomFichier() {}
 
perdu, ça compile pas.


Balance le message d'erreur

n°1023250
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 12:16:21  profilanswer
 

Taz a écrit :

ben je sais pas ce que tu veux faire. si tu veux faire du virtual abstract, ben fais le. Ou fais une interface.
 
 
ET PUIS LES GET CA PUE ON EN FAIT PAS EN C#


 
Ouais mais je suis pas encore habitué au c# et c'est pas naturel pour moi de mettre des propriétés... La syntaxe est space... Et je suis déjà à la bourre... pas le temps de chercher :D

n°1023252
Taz
bisounours-codeur
Posté le 24-03-2005 à 12:17:39  profilanswer
 

FlorentG a écrit :

Balance le message d'erreur


tu te fous de moi là ?

n°1023255
FlorentG
Unité de Masse
Posté le 24-03-2005 à 12:19:37  profilanswer
 

Taz a écrit :

tu te fous de moi là ?


Bah tu dis ça compile pas :D J'veux savoir le message :D J'ai fait que du VB.NET, alors tout ce qui touche au C# m'intéresse :) Ou alors y'a encore un truc que j'ai pas pigé :??:

n°1023256
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 12:20:31  profilanswer
 

Taz a écrit :

public virtual string GetNomFichier() {}
 
perdu, ça compile pas.


 
Chez moi, ça compile :D

n°1023257
Taz
bisounours-codeur
Posté le 24-03-2005 à 12:21:39  profilanswer
 

Code :
  1. public abstract class Releve
  2. {
  3.   public abstract string NomFichier
  4.     {
  5.       get;
  6.     }
  7. }
  8. public class MonReleve : Releve
  9. {
  10.   public override string NomFichier
  11.     {
  12.       get { return "releve.my"; }
  13.     }
  14. }
  15. class Test
  16. {
  17.   public static void Main()
  18.     {
  19.       Releve r = new MonReleve();
  20.       System.Console.WriteLine(r.NomFichier);
  21.     }
  22. }


Message édité par Taz le 24-03-2005 à 12:21:55
n°1023258
FlorentG
Unité de Masse
Posté le 24-03-2005 à 12:22:35  profilanswer
 

Mais sa classe de base n'est pas abstraite, non ?


Message édité par FlorentG le 24-03-2005 à 12:22:43
n°1023259
Taz
bisounours-codeur
Posté le 24-03-2005 à 12:22:36  profilanswer
 

Fraisouille a écrit :

Chez moi, ça compile :D


parce que t'as un compilateur de merde. Je vois pas comment il pourrait accepter que tu ne retournes rien dans une fonction retournant une string

n°1023262
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 12:25:25  profilanswer
 

J'ai pas marqué le code entre les accolades mais y'en a... Et ma classe n'est pas abstraite. Je compile avec Visual Studio alors niveau compilateur, ça va, c'est pas trop pourri :D

n°1023354
Taz
bisounours-codeur
Posté le 24-03-2005 à 13:51:20  profilanswer
 

FlorentG a écrit :

Mais sa classe de base n'est pas abstraite, non ?


ben je sais pas, vous savez pas vous exprimer ...

n°1023359
Taz
bisounours-codeur
Posté le 24-03-2005 à 13:53:45  profilanswer
 

ben il est pourri c'est tout.
 
string f() { } c'est pas correct .|
 
si ta classe de base est pas abtraite alors il te faut
 

Code :
  1. public class Releve
  2. {
  3.   public virtual string NomFichier
  4.     {
  5.       get { return "releve"; }
  6.     }
  7. }
  8. public class MonReleve : Releve
  9. {
  10.   public override string NomFichier
  11.     {
  12.       get { return "releve.my"; }
  13.     }
  14. }
  15. class Test
  16. {
  17.   public static void Main()
  18.     {
  19.       Releve r = new MonReleve();
  20.       System.Console.WriteLine(r.NomFichier);
  21.     }
  22. }

n°1023408
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 14:16:17  profilanswer
 

J'ai pas voulu encombrer le forum avec le code de mes méthodes. Pis mon problème est déjà résolu... Faut pas t'exciter comme ça...
Merci quand même

n°1023416
Taz
bisounours-codeur
Posté le 24-03-2005 à 14:17:20  profilanswer
 

ben alors sois précis !
Mais t'inquiète, je prendrais plus la peine de te faire des exemples

n°1023426
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 14:21:32  profilanswer
 

Ben attends, c'est toi qui est borné... Si je te dis que mon problème est résolu, c'est pas la peine de faire le super programmeur qui a la science infuse et qui sait tout et qui décrète que Visual Studio est un compilateur pourri... Faut arrêter de sa le péter un peu...

n°1023431
Taz
bisounours-codeur
Posté le 24-03-2005 à 14:23:17  profilanswer
 

ben un truc qui permet  
 
string f() { }
 
 
est pourri et dangereux, c'est tout.

n°1023433
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 14:24:03  profilanswer
 

mais je te dis qu'il y a du code dans mes méthodes mais que je ne voyais pas l'intérêt de tout recopier sur le forum... Tu le fais exprès ?

n°1023440
Taz
bisounours-codeur
Posté le 24-03-2005 à 14:26:56  profilanswer
 

Taz a écrit :

public virtual string GetNomFichier() {}
 
perdu, ça compile pas.


 
Chez moi, ça compile :D

n°1023449
Fraisouill​e
Grouik Grouik
Posté le 24-03-2005 à 14:29:53  profilanswer
 

Je me répète : "mais je te dis qu'il y a du code dans mes méthodes mais que je ne voyais pas l'intérêt de tout recopier sur le forum... Tu le fais exprès ?"

n°1034028
ToxicAveng​er
Posté le 04-04-2005 à 09:24:19  profilanswer
 

Taz a écrit :

Chez moi, ça compile :D


 
Faudrait savoir :o

n°1034221
sielfried
Posté le 04-04-2005 à 12:56:25  profilanswer
 

Il a merdé son quote de Fraisouille.  [:spamafote]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1034598
Fraisouill​e
Grouik Grouik
Posté le 04-04-2005 à 17:51:37  profilanswer
 

Et il a toujours pas compris que dans mes méthodes, y'a du code mais que j'ai pas voulu faire un post de 3 kms de long...

mood
Publicité
Posté le   profilanswer
 


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

  [C#] Problème de surcharge [RESOLU]

 

Sujets relatifs
Fonction 'atoi()" en Ada [RESOLU][Résolu] Surlignage de mots efficace
problème de cssProblème entre javascript et formulaire HTML
problème de syntaxeProbleme de session
[Résolu][ASPX][C#] Connaitre le titre d'une colonne DataGridProblème de typage dans un formulaire type="num"
[CSS] Problème avec boite en floatprobleme de sécurisation
Plus de sujets relatifs à : [C#] Problème de surcharge [RESOLU]


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