数秒ごとに値を返すメソッドを呼び出したい。Timer
withを使用してみましたelapsedEventandler
が、この場合、メソッドの戻り値の型は void です。TimerTask
このクラスを使用して、Java で同じタスクを実行しました。
Visual Studio 2005 を使用しているので、.NET 2.0 にしたいのです。
以下は、私が問題を抱えているプログラムです。匿名メソッドを使用しようとしましたがresponse
、この場合の値は匿名メソッドの外には存在しません:
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;
}
response
メソッドの値を取得して、Run
メソッドの呼び出し元に送信するにはどうすればよいRun
ですか?