Impossible d'acceder à la méthode dispose de System.Net.Sockets

Résolu
katwes Messages postés 43 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 7 mai 2010 - 30 oct. 2007 à 16:46
katwes Messages postés 43 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 7 mai 2010 - 30 oct. 2007 à 17:16
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

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
30 oct. 2007 à 17:12
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
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 oct. 2007 à 17:00
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]
0
katwes Messages postés 43 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 7 mai 2010
30 oct. 2007 à 17:03
J'avais essayé mais je ne peux pas modifier cette méthode car c'est une méthode systeme.
0
katwes Messages postés 43 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 7 mai 2010
30 oct. 2007 à 17:16
Merci beaucoup pour ces précisions, cela m'évitera de faire une erreur la prochaine fois
0
Rejoignez-nous