C#基础知识及题目练习 Day17 委托

目录

 

一、委托概念

二、委托语法规范:

eg:委托实现Greeting:

三、窗体间传值

eg:使用静态变量和构造函数传值

eg:使用委托的方式进行传值

四、匿名函数与Lambda表达式

五、系统已经定义好的委托

六、事件


一、委托概念


1、使用委托可以提高代码的可扩展性
最优秀的项目是我写过的代码基本上不需要动,如果我需要追加新功能的话,只需要写新功能就可以了,原来的老功能
不需要动一行代码。      有优秀的可扩展性

2、委托的关键字   delegate

Greeting 怎么用委托来实现呢?

 

二、委托语法规范:


[访问修饰符] delegate 返回值 委托名称(参数1,参数2,参数3,...);

1、声明一个委托
public delegate void TestMuDelegte(string s);    //声明一个委托

2、实例化一个委托
TestMuDelegte  tes=new TestMuDelegte(方法名);

实例化委托的时候,需要将符合委托定义的方法当做参数传给委托,在该例中,应该传递一个返回值为void,参数
为string的方法名称。

委托是一个类型

3、调用委托

tes("....");

4、把委托当做参数传入方法,调用该方法

public static void GreetNew(string name, GreetDelegate getDel)
        {
            getDel(name);
        }

GreetNew("黄渤", ShandongGreet);

eg:委托实现Greeting:

class Program
    {
        //1、声明委托:委托中  返回值:void    有一个string类型的参数
        public delegate void GreetDelegate(string s);
        //把委托当做参数传递
        public static void GreetNew(string name, GreetDelegate getDel)
        {
            getDel(name);
        }

        static void Main(string[] args)
        {
            //2、实例化委托对象
            GreetDelegate greet = new GreetDelegate(BeijingGreet);
            //实例化委托的时候,需要将符合委托定义的方法当做参数传给委托
            greet("大张伟");//3、调用委托
            GreetNew("黄渤", ShandongGreet);//4、把委托当做参数传入方法,调用该方法

            Console.Read();

        }

        public static void BeijingGreet(string name)
        {
            Console.WriteLine("你好!"+name);
        }
        public static void ShandongGreet(string name)
        {
            Console.WriteLine("你好!" + name);
        }

    }

 //委托简写方式  省略掉new操作符
            ComputeDelegate compDel2 = MultyMethod;
            Console.WriteLine(compDel2(23, 6)); 


三、窗体间传值

1、使用静态变量传值

Form1--》Form2传值
1)创建一个类,在该类中创建静态变量,用于存储要传递的值

2)在New Form2对象之前,在Form1的B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值