详解C#中的委托.doc

详解C#中的委托.doc

ID:49545365

大小:15.07 KB

页数:2页

时间:2020-03-02

详解C#中的委托.doc_第1页
详解C#中的委托.doc_第2页
资源描述:

《详解C#中的委托.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、详解C#中的委托委托是一种新的对象类型,它可以定义一个签名,并且它只能持有与它的签名相匹配的方法引用。所有委托类型对象都有方法调用列表,方法调用列表所链接的方法可以是静态方法,也可以是实例方法。对于静态方法,列表中只对应一个方法;对于实例方法,列表中所对应的是一个实例方法和其所属的实例。委托的实现过程如下代码所示:using System;using System.Collections.Generic;using System.Text;namespace NET{    public class 

2、Program    {        //定义一个委托类型,其签名接受两个string类型参数,返回类型也为string        public delegate string MyDel(string nm,string pwd);        static void Main(string[] args)        {            MyDel md;            Console.WriteLine("请输入两个参数,并用逗号分隔");            stri

3、ng InputValue = Console.ReadLine();            int Pos = InputValue.IndexOf(",");            string ValueA = InputValue.Substring(0,Pos);            string ValueB = InputValue.Substring(Pos+1);            Console.WriteLine("请输入A,B,C,D,以确定所调用的方法");      

4、      string InputMethod = Console.ReadLine().ToUpper();            switch(InputMethod)            {                // 如果用户输入为A或者a,则创建MyDel委托对象,其引用变量为md,指向formatA方法                case "A":                    md = new MyDel(formatA);                    

5、break;                case "B":                    md = new MyDel(formatB);                    break;                case "C":                    md = new MyDel(Another.formatC);                    break;                case "D":                    Anot

6、her ano = new Another();                    md = new MyDel(ano.formatD);                    break;                default:                    md = new MyDel(formatA);                    break;            }                    string result = md(ValueA,Va

7、lueB);//因为md指向formatA方法,将ValueA,ValueB传向formatA方法,结果存储到result里面。                     Console.WriteLine("以下为委托执行的结果");                    Console.WriteLine(result);                    Console.ReadLine();        }         static string formatA(string a, s

8、tring b)        {            string words = "I am the first static mehtod.My name is: " + a + "My password is: " + b;            words += "我是第一个静态方法。我的名字是:" + a + "我的密码是:" + b;            return words;        }         

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

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

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