71muke?v=1
在线看书
立即购买

第一章 EF框架中运用的C#高级特性

收起
2023-07-16更新,每天更一篇

第二章 LinQ查询

收起
2023-07-16更新,每天更一篇

第三章 EntityFramework的基本使用

收起
2023-07-16更新,每天更一篇

第四章 EntityFramework的高级使用方法

收起
2023-07-16更新,每天更一篇

第五章 EntityFramework的实战使用

收起
2023-07-16更新,每天更一篇

C#中的委托

一、委托的概述与声明

委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。

可以通过委托实例调用方法。也可以使用委托将方法作为参数传递给其他方法。

委托的使用将大大提高程序的可扩展性。


委托声明决定了可由该委托引用的方法。委托可指向一个与其具有相同签名的方法:

public delegate <return type> <delegate-name> <parameter list>

使用示例:

public delegate string TranslationDelegate (string s);


二、委托的使用

1、委托实例化

TranslationDelegate transform=new TranslationDelegate(ChineseSayHello);


说明:

在C#2.0的语法中,实例化委托可以简写为,将方法引用直接指向委托:

TranslationDelegate transform= ChineseSayHello;


 2、调用委托

调用“中文翻译”的委托方法:
transform.Invoke("张三"); //委托的实际参数值

简化后的调用委托方法:
transform ("张三");


3、多播委托

1、可通过使用“+”运算符将多个对象分配到一个委托实例上,形成多播委托。

2、多播委托被调用时会依次调用列表中的委托。

3、使用“-”运算符可用于从多播委托中删除组件委托。

使用示例:

static void Main(string[] args)
{
    Operation operation = new Operation(Eating);
    operation += new Operation(WatchTV);
    operation.Invoke("明");
}


 4、使用委托,将方法作为参数传递给另一个方法

使用示例:

public class User
{
    public delegate void UserAction();
    public void TakeAction(UserAction userAction)
    {
        userAction.Invoke();
    }
}


留言

发布留言

需要购买本课才能留言哦~

{{ item.createtime | dateStr }}