Probleme d'heritage et de surcharge en C#

Probleme d'heritage et de surcharge en C# - C#/.NET managed - Programmation

Marsh Posté le 08-12-2003 à 12:50:15    

Je me suis mis au C# recement et j'ai un petit probleme.
 
Voila mon petit morceau de code :
 
public class Listener : TcpListener
  {
  private bool actif;
   
  public bool IsActif
   {
   set {actif = this.Active;}
   get {return actif;}
   }
  }

 
Et a la compilation j'ai droit a ca :
Blablablabla ... error CS1501: Aucune surcharge pour la méthode 'TcpListener' ne prend d'arguments '0'
 
Est-ce que qq'un pourrait m'expliquer ce qui ne va pas ?
 
Merci beaucoup.


---------------
Attention aux tomics revelateurs. Quand on est bourre, faut pas moster  :D :) ;)
Reply

Marsh Posté le 08-12-2003 à 12:50:15   

Reply

Marsh Posté le 08-12-2003 à 13:44:52    

a priori et a vu de nez (vu que tu n'as pas jugé bon de nous donner la ligne d'erreur) tu dois avoir un pb de constructeur

Reply

Marsh Posté le 08-12-2003 à 15:43:55    

on peut voir la définition de TcpListener() et ses point d'utilisation STP ?
 
edit :
laisse béton, je viens de capter. Je vais faire un tour dans le spec et je reviens avec une explication claire et un lien.
 
bon, la spec est toute pourrite, http://www.jaggersoft.com/csharp_standard/8.7.8.htm
 
On va spéculer :
 
en gros, tu n'as fourni aucun constructeur à Listener, donc il en a créé un par défaut qui ne prend aucun argument. Comme code, il a mis dedans un simple appel au constructeur sans argument de la classe parente (c'est le comportement par défaut le plus logique). Hors dans la classe parente, tu as dû mettre au moins un constructeur avec arguments et ne pas mettre de constructeur sans argument, donc ça foire.
 
 
 
autre chose :
 
Par contre, on peut se demander pourquoi Listener qui, avec un nom pareil doit être un Listener générique, dérive de TCPListener qui semble être un Listener dont une partie du comprtement est fixéé (ça écoute un truc qui a un rapport avec TCP).
 
 
edit : La spec est normale, il suffit de savoir lire, le bon lien est http://www.jaggersoft.com/csharp_standard/17.10.4.htm


Message édité par nraynaud le 08-12-2003 à 16:28:19

---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 08-12-2003 à 16:01:39    

Code :
  1. public class Listener : TcpListener( ... )

et ça devrait aller mieux.
http://coding.bug.free.fr/lang/cs/ [...] oc54350509
En quoi la spec est toute pourrie ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 08-12-2003 à 16:27:03    

HelloWorld a écrit :

Code :
  1. public class Listener : TcpListener( ... )



c'est très intéressant, comme notation, mais je trouve pas dans la norme : http://www.jaggersoft.com/csharp_standard/17.1.htm
 
En fait je viens de comprendre, je me suis planté de chapitre, j'étais dans l'overview, pas dans la spec. Elle est normale la spec.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 08-12-2003 à 19:13:21    

Merci beaucoup.
J'ai refait le constructeur a ma sauce et ca marche.


---------------
Attention aux tomics revelateurs. Quand on est bourre, faut pas moster  :D :) ;)
Reply

Marsh Posté le 08-12-2003 à 22:58:46    

Tant qu'on y est, toi, nraynaud, le M. théorie des langages, C#, pour ce que tu en as vu, tu le trouve comment ? (en faisant abstraction de .Net)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 08-12-2003 à 23:52:18    

HelloWorld a écrit :

Tant qu'on y est, toi, nraynaud, le M. théorie des langages, C#, pour ce que tu en as vu, tu le trouve comment ? (en faisant abstraction de .Net)

ben "normal" quoi. Il utilise tous les trucs à la mode. Le seul truc un peu nouveau qu'ils ont poussé en avant c'est les metadata.
 
j'ai lu la spec sur la généricité, mais en réalité je l'ai oubliée (et je me souviens même plus de l'impression que ça m'a donné), donc j'en pense plus rien.


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed