Je souhaite appeler une méthode qui renvoie une valeur toutes les quelques secondes. J'ai essayé d'utiliser un Timer
con elapsedEventandler
mais le type de retour de la méthode est void dans ce cas. J'ai utilisé la méthode TimerTask
pour effectuer la même tâche en Java.
Je veux qu'il soit en .NET 2.0 car j'utilise Visual Studio 2005.
Voici le programme qui me pose problème. J'ai essayé d'utiliser une méthode anonyme, mais la valeur de response
dans ce cas, n'existe pas en dehors de la méthode anonyme :
public static string Run(string address)
{
string response = "A";
Timer t = new Timer();
t.Elapsed += delegate
{
response = callURL(address);
console.writeln(response);
// The actual response value is printed here
};
t.Interval = 3000;
t.Start();
Console.WriteLine("response string is " + response);
// response string is A
return response;
}
public static string callURL(string address)
{
className sig = new ClassName();
String responseBody = sig.getURL(address);
return responseBody;
}
Comment obtenir la valeur de response
dans le Run
et l'envoyer à l'appelant de la méthode Run
méthode ?