对新线程方法传递多参数
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
{
}
}
这样就实现了多参数传递
发送邮件的方法:
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
{
}
}
这样就实现了多参数传递
相关文章推荐
- c#用匿名方法传递参数给线程(可不用拆箱和装箱,传任意个参数)【转载】
- 传递参数到线程的n个方法
- MFC中线程传递多个参数的方法
- 启动线程时传递参数的方法
- 向线程传递多个参数的变通方法(c#)
- C# 线程传递参数推荐方法
- C#传递参数到线程的n个方法
- 将方法作为参数,传递到线程中
- C#往线程里传递参数的方法小结
- C#向线程中传递多个参数的解决方法(两种)
- Runnable接口定义线程的参数的传递方法.
- java向线程中传递参数的方法
- 【转】传递参数到线程的n个方法
- C#传递参数到线程的方法汇总
- 传递参数到线程的n个方法
- C#往线程里传递参数的方法小结
- c#给线程传递参数的方法
- 【转】【Thread】Java向线程传递参数的常用方法【多线程】
- 【C#】40. 线程参数传递的三种方法
- 创建线程时候多参数传递方法及参数改变问题--扫雷辅助(三)