delegate 多线程

using System; using System.Threading; public class Student { private int score; public void SetScore(int value) { if (value > 100 || value < 0) { Console.Out.WriteLine("分数不对"); } else { score = value; if (AdviseDelegateInstance!= null) { AdviseDelegateInstance.BeginInvoke(score, new System.AsyncCallback(CallBackMethod), "idior"); } } } private void CallBackMethod(IAsyncResult asyncResult) { string result = AdviseDelegateInstance.EndInvoke(asyncResult); string stateObj=(string)asyncResult.AsyncState; Console.Out.WriteLine("学生{0}收到老师返回的结果/t" + result,stateObj); } public delegate string AdviseDelegate(int score); public AdviseDelegate AdviseDelegateInstance; } public class Teacher { public string Advise(int score) { Thread.Sleep(3000); if (score < 60) { Console.Out.WriteLine(score + "老师说加油"); return "不及格"; } else { Console.Out.WriteLine(score + "老师说不错"); return "及格"; } } } class MainClass { [STAThread] private static void Main(string[] args) { Teacher teacher = new Teacher(); Student s = new Student(); s.AdviseDelegateInstance= new Student.AdviseDelegate(teacher.Advise); Console.Out.WriteLine("学生得到50分"); s.SetScore(50); Console.Out.WriteLine("/n学生得到75分"); s.SetScore(75); Console.ReadLine(); } }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值