云大软件学院C#实验4委托

云大软件学院C#实验4委托

ID:38035791

大小:100.00 KB

页数:3页

时间:2019-05-24

云大软件学院C#实验4委托_第1页
云大软件学院C#实验4委托_第2页
云大软件学院C#实验4委托_第3页
资源描述:

《云大软件学院C#实验4委托》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、指标等级ABCD功能完整程序质量按时检查提问回答检查时间总评成绩实验报告序号:实验老师:课程名称:C#与.NET实验实验名称:实验4:委托学号:姓名:课程名称 C#与.NET实验实验项目实验4:委托实验目的 熟悉并掌握,C#的委托的特性。实验内容(算法、程序、步骤和方法)(1)类型Test的程序代码如下:usingSystem;namespaceDelegateTest{publicclassTest{staticvoidMain(string[]args){Announcean=newAnnounce();//实例化一个Announce对象//创建一份Action委托类型实体,代表

2、的对象是static成员函数Actionact1=newAction(Announce.announceDate);//创建一份Action委托类型实体,代表的对象是nonstatic成员函数Actionact2=newAction(an.announceTime);testHarness.Tester+=act1;//用"+="添加委托对象代表的成员函数Console.WriteLine("开始时只显示当前日期,如下:");testHarness.run();//运行该委托对象testHarness.Tester+=act2;Console.WriteLine("加入当前时间后

3、,显示如下:");testHarness.run();//调用GetInvocationList()方法来返回委托对象代表的成员函数Console.WriteLine("此时调用GetInvocationList()方法,显示如下:");if(testHarness.Tester!=null){Delegate[]delg=testHarness.Tester.GetInvocationList();foreach(Delegateddindelg)dd.DynamicInvoke();}elseConsole.WriteLine("该委托对象未调用任何方法。");3实验内容

4、(算法、程序、步骤和方法)testHarness.Tester-=act1;//用"-="移除委托对象代表的成员函数Console.WriteLine("去除当前日期后,显示如下:");testHarness.run();testHarness.Tester-=act2;Console.WriteLine("接着去除当前时间后,显示如下:");testHarness.run();Console.WriteLine("此时调用GetInvocationList()方法,显示如下:");if(testHarness.Tester!=null){Delegate[]delg=t

5、estHarness.Tester.GetInvocationList();foreach(Delegateddindelg)dd.DynamicInvoke();Console.WriteLine();}elseConsole.WriteLine("该委托对象未调用任何方法。");}}}(1)类型testHarness的程序代码如下:usingSystem;namespaceDelegateTest{publicdelegatevoidAction();//声明一个委托类型publicclasstestHarness{staticprivateActiontheAction;/

6、/声明一个委托对象staticpublicActionTester//属性,传回和设置Action对象{get{returntheAction;}set{theAction=value;}}staticpublicvoidrun()//调用委托对象所表示的成员函数,并运行{if(theAction!=null)theAction();elseConsole.WriteLine("该委托对象未调用任何方法。");}}}(2)类型Announce的程序代码如下:usingSystem;namespaceDelegateTest{publicclassAnnounce{publicstat

7、icvoidannounceDate()//静态方法,用于打印当前日期{3DateTimedt=DateTime.Now;Console.WriteLine("Today'sdateis{0}",dt.ToLongDateString());}//非静态方法,用于打印当前时间publicvoidannounceTime(){DateTimedt=DateTime.Now;Console.WriteLine("Thecurrenttimeis{0}",dt.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。