Impossible d'acceder à la méthode dispose de System.Net.Sockets [Résolu]

Signaler
Messages postés
43
Date d'inscription
lundi 17 octobre 2005
Statut
Membre
Dernière intervention
7 mai 2010
-
Messages postés
43
Date d'inscription
lundi 17 octobre 2005
Statut
Membre
Dernière intervention
7 mai 2010
-
Bonjour,

J'utilise  la classe System.Net.Sockets pour me connecter en telnet.
Mais j'aimerai utiliser la méthode dispose pour libérer toutes les ressources avant de me déconnecter

Elle est définie ainsi:

protected
virtual
void Dispose(
bool disposing);
J'ai une erreur quand j'essaie de l'appeler:

System.Net.Sockets.TcpClient.Dispose(bool)' est inaccessible en raison de son niveau de protection

namespace

service.Tests{

public
class
TelnetConnection{

   TcpClient tcpSocket;

   int TimeOutMs = 100;

   public TelnetConnection(
string Hostname,
int Port){

   tcpSocket =

new
TcpClient(Hostname, Port);

}

}
public void deconnect ()
{
   
   tcpSocket.Dispose(true);
   tcpSocket.Close();
}

Comment puis-je accéder à cette méthode ?

Merci d'avance.

4 réponses

Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
10
Tiens c'est étonnant que Dispose soit en protected...
Je pense que l'appel a Close suffit à libérer les ressources (Close fait certainement lui même appel à Dispose en interne).

Petite précision, dans ton code, dans le cas ou Dispose aurait été effectivement accessible, il aurait fallu mettre l'appel après celui de Close, et non avant (une fois que ton instance est "disposée", elle n'est plus utilisable en théorie)

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
normal car ta méthode est "protected", met "public" à la place.


 


la meilleur manière de faire est tout de même d'implémenter l'interface IDisposable

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
43
Date d'inscription
lundi 17 octobre 2005
Statut
Membre
Dernière intervention
7 mai 2010

J'avais essayé mais je ne peux pas modifier cette méthode car c'est une méthode systeme.
Messages postés
43
Date d'inscription
lundi 17 octobre 2005
Statut
Membre
Dernière intervention
7 mai 2010

Merci beaucoup pour ces précisions, cela m'évitera de faire une erreur la prochaine fois