您的位置:首页 > 其它

对新线程方法传递多参数

2009-07-31 14:31 309 查看
近日用到了发送邮件的功能,要是放主线程感觉有点卡,所以把它放到了一个新线程中

发送邮件的方法:

public static bool SendEMail(string title, string text)
{
MailSend.MailSend mail = new MailSend.MailSend();
return mail.Send("email address", title, text);
}

启用新线程:

string title = "subject";
string text = "mail body";
Thread thMail = new Thread(new ParameterizedThreadStart(SendMail));
thMail.Start(new string[]{title,text});

Thread.Start方法只允许一个object参数.所以就把所需的两个参数放到一个数组中,事实上线程调用的方法是这个:

private void SendMail(object pars)
{
try
{
string[] s = (string[])pars;
if (!String.IsNullOrEmpty(s[2].Trim()))
{
ProgramRun.SendEMail(s[0].ToString(), s[1].ToString());
}
else
{
ProgramRun.SendEMail(s[0].ToString(), s[1].ToString());
}
}
catch
{
}
}

这样就实现了多参数传递
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: