将变量传递给系统的方法.对象参数

本文关键字:方法 对象 参数 系统 变量 | 更新日期: 2023-09-27 18:01:36

我的应用很简单。我使用一个计时器,每15秒执行一个方法。

我的应用程序当前设置有一个回调计时器打开一个方法,创建一个字符串,然后调用我的逻辑方法。

我想做的是在timer方法中创建我的字符串,然后将字符串直接传递给我的逻辑方法。是否有可能将变量传递给系统的方法。对象参数在里面吗?

//This is the piece of code in my timer method (methodA) which calls methodB
ThisTimer = new System.Threading.Timer(new TimerCallback(methodB));
        private void methodB(object sender)
        {
        string theString= "MyString";
        methodC(theString);
        }
 private void methodC(string theString)
        {
        }

我要做的是

//This code jumps directly from methodA to methodC
string theString= "MyString";
ThisTimer = new System.Threading.Timer(new TimerCallback(methodC(system.object,theString)));
     private void methodC(object sender, string theString)
            {
            }

将变量传递给系统的方法.对象参数

在为计时器提供回调时,使用lambda关闭您想要使用的变量:

string theString= "MyString";
ThisTimer = new System.Threading.Timer(sender => methodC(theString));

private void methodC(string theString)
{
}

在Timer构造函数中传递TimerCallback所需的对象,如下所示

string str = "something";
Timer t = Timer(methodC, str, 0, 1000);

str对象将被传递给timercallback方法