System.Threading.Timer TimerCallback委托与参数?

时间:2013-04-10 15:37:55

标签: c# timer

我需要将以下int dldnow传递给sendData静态方法/委托。

public int dldnow;
Timer timer = new Timer(new TimerCallback(sendData), null, 1000*30, 1000*30);

public static void sendData(object obj)
{
  string imageCount = (string)dldnow;
  string imageCountJson = wc.DownloadString("http://*********/u.php?count=" + imageCount);
}

1 个答案:

答案 0 :(得分:7)

如果要传递一次,请使用第二个构造函数参数:

System.Threading.Timer(new TimerCallback(sendData), dldnow, 1000*30, 1000*30);

如果您想定期访问它,可以创建一个静态易失性字段:

public static volatile int dldnow;

(需要使用volatile,以便从多个线程访问时始终保持最新状态)