我需要将以下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);
}

最佳答案

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

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


如果要定期访问它,可以创建一个静态的volatile字段:

public static volatile int dldnow;


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

09-28 02:30