详解C#中的委托.doc_第1页
详解C#中的委托.doc_第2页
详解C#中的委托.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

详解C#中的委托委托是一种新的对象类型,它可以定义一个签名,并且它只能持有与它的签名相匹配的方法引用。所有委托类型对象都有方法调用列表,方法调用列表所链接的方法可以是静态方法,也可以是实例方法。对于静态方法,列表中只对应一个方法;对于实例方法,列表中所对应的是一个实例方法和其所属的实例。委托的实现过程如下代码所示:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceNETpublicclassProgram/定义一个委托类型,其签名接受两个string类型参数,返回类型也为stringpublicdelegatestringMyDel(stringnm,stringpwd);staticvoidMain(stringargs)MyDelmd;Console.WriteLine(请输入两个参数,并用逗号分隔);stringInputValue=Console.ReadLine();intPos=InputValue.IndexOf(,);stringValueA=InputValue.Substring(0,Pos);stringValueB=InputValue.Substring(Pos+1);Console.WriteLine(请输入A,B,C,D,以确定所调用的方法);stringInputMethod=Console.ReadLine().ToUpper();switch(InputMethod)/如果用户输入为A或者a,则创建MyDel委托对象,其引用变量为md,指向formatA方法caseA:md=newMyDel(formatA);break;caseB:md=newMyDel(formatB);break;caseC:md=newMyDel(Another.formatC);break;caseD:Anotherano=newAnother();md=newMyDel(ano.formatD);break;default:md=newMyDel(formatA);break;stringresult=md(ValueA,ValueB);/因为md指向formatA方法,将ValueA,ValueB传向formatA方法,结果存储到result里面。Console.WriteLine(以下为委托执行的结果);Console.WriteLine(result);Console.ReadLine();staticstringformatA(stringa,stringb)stringwords=Iamthefirststaticmehtod.nMynameis:+a+nMypasswordis:+b;words+=n我是第一个静态方法。n我的名字是:+a+n我的密码是:+b;returnwords;staticstringformatB(stringa,stringb)stringwords=Iamthesecondstaticmehtod.nMynameis:+a+nMypasswordis:+b;words+=n我是第二个静态方法。n我的名字是:+a+n我的密码是:+b;returnwords;classAnother/内部类internalstaticstringformatC(stringa,stringb)stringwords=Iamthethirdstaticmehtod.nMynameis:+a+nMypasswordis:+b;words+=n我是第三个静态方法。n我的名字是:+a+n我的密码是:+b;returnwords;internalstringformatD(stringa,stringb)stringwords=Iamthefourstaticme

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论