您的位置:首页 > 其它

利用委托异步发送邮件

2009-07-30 07:18 369 查看
class Program
{
static void Main(string[] args)
{
MyEmail myEmail = new MyEmail();
Asnys(myEmail);
}
delegate void DelegateName(MyEmail myEmail);

public static void Asnys(MyEmail myEmail)
{
DelegateName dn = new DelegateName(SendEmail);
AsyncCallback ac = new AsyncCallback(NoSeleep);
dn.BeginInvoke(myEmail, ac, dn);
Console.WriteLine("这才是真的没睡");
Console.ReadLine();
}
private static void SleepNmin(int i)
{
Thread.Sleep(i * 1000);
Console.WriteLine("我睡了" + i.ToString() + "秒");
}
private static void NoSeleep(IAsyncResult iar)
{
SleepNmin(2);
Console.WriteLine("我可没有睡,都执行完了再叫我");
DelegateName dn = iar.AsyncState as DelegateName;

dn.EndInvoke(iar);
}
private static void SendEmail(MyEmail myEmail)
{
//这里发送邮件
Console.WriteLine("邮件发送完毕");
}
}

class MyEmail
{
public string ss;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: