Bienvenue sur Labo-dotnet Identification | Enregistrement | Faq

Langages .NET

Démarré par milouse à 03-30-2008 11:39. Le sujet a 1 réponse(s).

Print Search
Sort Posts:    
   03-30-2008, 11:39
milouse n'est pas en ligne. Dernière activité : 30/03/2008 08:35:17 milouse

Non Noté
Rejoint : 03-30-2008
Messages : 1
explication delegué
Reply Quote
Bonjour,
j'aurai besoin d'une petite explication sur les delegué voici un morceau de code

public class Communication
{
// déclaration type délégué
public delegate int DataReceivedHandler(string data);
// variable du type délégué donnée recue
public DataReceivedHandler dataReceivedHandler=null;

// ...

//-----------------------------------------------------------
// traitement d'attente en réception des données
// effectué dans une boucle, exécuté par un thread
public void RunReceptionData()
{
string data= null;

// boucle d'attente
while(true)
{
// donnée en reception
// ... remplir variable data

// appel délégué pour signaler présence donnée recue
if( dataReceivedHandler != null)
dataReceivedHandler(data);

// suite traitement ...
}
}
}

private void Form1_Load(object sender, System.EventArgs e)
{
// instancie l'objet pour communiquer
comm= new Communication();


// instancie le délégué
comm.dataReceivedHandler= new Communication.DataReceivedHandler(this.DonneeRecue);
}

//-----------------------------------------------------------
// déclenché par le délégué lorsque une donnée est recue
private void DonneeRecue(string data)
{
// affiche le message recu
MessageBox.Show("donnée recue: "+data);
}


c'est juste un code d'exemple il ne compilera pas.Je veux juste une explication en instanciant un delegué a chaque fois
comm.dataReceivedHandler= new Communication.DataReceivedHandler;
normalement dataReceivedHandler doit alors chaque fois pointer vers une nouvelle adresse et le garbage collector supprimera la donnée de l'adresse precedante non?Pourquoi dans ce cas cela ne fonctionne pas?
merci.
Adresse IP : Connecté   Rapport 
   04-23-2008, 15:12
gargamel67 n'est pas en ligne. Dernière activité : 23/04/2008 11:04:33 gargamel67

Top 500 Messages
Rejoint : 04-23-2008
Messages : 6
Re : explication delegué
Reply Quote
L'instanciation d'un delegué est un peu particulière.
Pour chaque méthode, il y a une seule instance: même méthode implique donc même instance à chaque fois.

JobsDotnet, Offres d'emploi .NET
Adresse IP : Connecté   Rapport 
Labo-dotnet » Programmation .... » Langages .NET » Re : explication delegué

Sponsorisé par Community Server


Conditions d’utilisation et Copyright
Respect de la vie privée