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

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

Votre réponse

4 réponses

Meilleure réponse
Nikoui 794 Messages postés vendredi 24 septembre 2004Date d'inscription 19 août 2008 Dernière intervention - 30 oct. 2007 à 17:12
3
Merci
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

Merci Nikoui 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de Nikoui
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 30 oct. 2007 à 17:00
0
Merci
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]
Commenter la réponse de sebmafate
katwes 43 Messages postés lundi 17 octobre 2005Date d'inscription 7 mai 2010 Dernière intervention - 30 oct. 2007 à 17:03
0
Merci
J'avais essayé mais je ne peux pas modifier cette méthode car c'est une méthode systeme.
Commenter la réponse de katwes
katwes 43 Messages postés lundi 17 octobre 2005Date d'inscription 7 mai 2010 Dernière intervention - 30 oct. 2007 à 17:16
0
Merci
Merci beaucoup pour ces précisions, cela m'évitera de faire une erreur la prochaine fois
Commenter la réponse de katwes

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.