2015-10-14 119 views
0

enter image description here你好我想问的是有没有办法创建一个新的线程来启动函数并向它发送信息。 类似我需要发送的信息加入线程或类似的东西。用线程启动一个新的函数

这是我的意思是:

private Thread T1; 
private Thread T2; 

public void Start() 
{ 
    string NaMES = "DEMO"; 
    int AGE = Convert.ToInt32("44"); 

    T1 = new Thread(Here(NaMES, AGE)); 
    T1.Start(); 
} 

public object Here(string NAME, int AGE) 
{ 
    MessageBox.Show(NAME + AGE); 
    return null; 
} 
+2

你的问题还不清楚。请尝试指定你已经尝试了什么,什么不工作。 –

+0

你知道你的代码不能编译? – Enigmativity

+0

线程有一个新的ParameterizedThreadStart或类似的东西,你可以传递一个对象作为参数:) – Icepickle

回答

3

Thread有一个重载的构造函数,可以让你通过一个单一的参数,所以你可以创建一个包含所有由你的线程代表所需的数据的对象。

,不过也许简单就是只使用一个lambda创建一个围绕你的自动变量closure

T1 = new Thread(() => Here(NaMES, AGE)); 
+0

以及如何将其发送到一个功能 – KenTavur

+0

我不确定你的意思。 lambda变成你的没有参数的线程函数('()=>'位)。你的'Here()'函数现在只是lambda调用的东西。 – GazTheDestroyer

+0

我只是运行代码,但没有任何工作?任何其他想法 – KenTavur