近日用到了发送邮件的功能,要是放主线程感觉有点卡,所以把它放到了一个新线程中
发送邮件的方法:
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
{
}
}
这样就实现了多参数传递