Problème de surcharge [RESOLU] [C#] - C#/.NET managed - Programmation
Marsh Posté le 24-03-2005 à 12:06:38
Faut déclarer la première méthode différemment :
public virtual string GetNomFichier() {} |
Marsh Posté le 24-03-2005 à 12:06:54
Si toutefois "virtual" est l'équivalent de "overridable" en vb.net
Marsh Posté le 24-03-2005 à 12:09:07
public virtual string GetNomFichier() {}
c'est pas correct.
virtual déclares la possibilité de surcharge
Marsh Posté le 24-03-2005 à 12:13:07
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 ?
Marsh Posté le 24-03-2005 à 12:14:08
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#
Marsh Posté le 24-03-2005 à 12:14:37
Taz a écrit : public virtual string GetNomFichier() {} |
Ben oui, et du coup la méthode qui surcharge doit être en override
Marsh Posté le 24-03-2005 à 12:14:38
FlorentG a écrit : Faut déclarer la première méthode différemment :
|
Gagné ! Merci les gars
Marsh Posté le 24-03-2005 à 12:14:57
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. |
lol, il devrait utiliser une propriété plutôt
Marsh Posté le 24-03-2005 à 12:15:15
Fraisouille a écrit : Gagné ! Merci les gars |
public virtual string GetNomFichier() {}
perdu, ça compile pas.
Marsh Posté le 24-03-2005 à 12:16:20
Taz a écrit : public virtual string GetNomFichier() {} |
Balance le message d'erreur
Marsh Posté le 24-03-2005 à 12:16:21
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. |
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
Marsh Posté le 24-03-2005 à 12:17:39
ReplyMarsh Posté le 24-03-2005 à 12:19:37
Taz a écrit : tu te fous de moi là ? |
Bah tu dis ça compile pas J'veux savoir le message 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é
Marsh Posté le 24-03-2005 à 12:20:31
ReplyMarsh Posté le 24-03-2005 à 12:21:39
Code :
|
Marsh Posté le 24-03-2005 à 12:22:35
Mais sa classe de base n'est pas abstraite, non ?
Marsh Posté le 24-03-2005 à 12:22:36
Fraisouille a écrit : Chez moi, ça compile |
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
Marsh Posté le 24-03-2005 à 12:25:25
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
Marsh Posté le 24-03-2005 à 13:51:20
FlorentG a écrit : Mais sa classe de base n'est pas abstraite, non ? |
ben je sais pas, vous savez pas vous exprimer ...
Marsh Posté le 24-03-2005 à 13:53:45
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 :
|
Marsh Posté le 24-03-2005 à 14:16:17
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
Marsh Posté le 24-03-2005 à 14:17:20
ben alors sois précis !
Mais t'inquiète, je prendrais plus la peine de te faire des exemples
Marsh Posté le 24-03-2005 à 14:21:32
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...
Marsh Posté le 24-03-2005 à 14:23:17
ben un truc qui permet
string f() { }
est pourri et dangereux, c'est tout.
Marsh Posté le 24-03-2005 à 14:24:03
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 ?
Marsh Posté le 24-03-2005 à 14:26:56
ReplyMarsh Posté le 24-03-2005 à 14:29:53
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 ?"
Marsh Posté le 04-04-2005 à 12:56:25
Il a merdé son quote de Fraisouille.
Marsh Posté le 04-04-2005 à 17:51:37
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...
Marsh Posté le 24-03-2005 à 11:58:43
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