栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

c#委托的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c#委托的使用

一、什么是委托?

委托是一种动态调用方法的类型,属于引用型。委托是对方法的抽象和封装。委托对象实质上代表了方法的引用(即内存地址)。委托通常是委托某个方法来实现具体的功能。当我们调用委托的时候,委托包含的所有方法将被执行。虽然在定义委托时与方法有些相似,但我们不能将其称为方法。

二、委托的定义 1.delegate

定义一个int返回值、带一个参数的委托:

修饰符  delegate  返回值类型  委托名 ( 参数列表 );

public delegate int TestDelegate(int x, int y);

定义好委托后就到了实例化委托的步骤,命名方法委托在实例化委托时必须带入方法的具体名称。

委托名  委托对象名 = new 委托名 ( 方法名 );

在实例化委托后即可调用委托,语法形式如下。

委托对象名 ( 参数列表 );
delegate例:
class Program
{
    public delegate void MyDelegate();
    static void Main(string[] args)
    {
        MyDelegate myDelegate = new MyDelegate(Test.SayHello);
        myDelegate();
    }
}
class Test
{
    public static void SayHello()
    {
        Console.WriteLine("Hello Delegate!");
    }
}
2.Action与Func

        Action和Func是系统预定义的委托,所以不需要我们再进行定义了,没有返回值。有两种形式,一种是单独的Action既没有返回值也不可以带参数;另一种是没有返回值,可以带参数的Action<>,参数限制0~16个。Action是无返回值的泛型委托。

        Action 表示无参,无返回值的委托。

        Action 表示有传入参数int,string无返回值的委托。

        Func<返回值类型>必须有返回值,不能是void,参数0~16个。 

        Func<参数1,参数2,返回值类型>必须有返回值和参数,不能是void

Action例:

 运行结果:

Func例:

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/877415.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号