• c#常用委托


    Action 委托

    封装一个方法,该方法不具有参数且不返回值。

    public delegate void Action();

    注解

    可以使用此委托将方法作为参数传递,而无需显式声明自定义委托。 封装的方法必须与此委托定义的方法签名相对应。 这意味着封装的方法必须没有参数,也没有返回值。 (C# 中,该方法必须返回 void。 在 F# 中,函数或方法必须返回 unit。 在Visual Basic中,它必须由 ... 定义Sub``End Sub construct。 它也可以是返回忽略的值的方法。) 通常,此类方法用于执行操作。

    备注
    若要引用没有参数并返回值的方法,请改用泛型 Func<TResult> 委托。

    Action委托有很多种类,总共16种,可以传入16个参数。

    微软在文档上给了很详细的示例,从自己定义委托,到使用匿名方法,到使用Lambda,进化过程是完整的,可以仔细阅读学习。

    参考资料:

    https://docs.microsoft.com/zh-cn/dotnet/api/system.action?view=netframework-4.8

    https://docs.microsoft.com/zh-cn/dotnet/api/system.action-2?view=netframework-4.8

    Func<TResult> 委托

    封装一个方法,该方法不具有参数,且返回由 TResult 参数指定的类型的值。

    public delegate TResult Func<out TResult>();

    注解

    可以使用此委托来表示可以作为参数传递的方法,而无需显式声明自定义委托。 封装的方法必须与此委托定义的方法签名相对应。 这意味着封装的方法必须没有参数,并且必须返回值。

    Func<T,TResult> 委托

    封装一个方法,该方法具有一个参数,且返回由 TResult 参数指定的类型的值。

    public delegate TResult Func<in T,out TResult>(T arg);

    参考资料:

    https://docs.microsoft.com/zh-cn/dotnet/api/system.func-1?view=netframework-4.8

    https://docs.microsoft.com/zh-cn/dotnet/api/system.func-2?view=netframework-4.8

    以上已经简单介绍了Action、Func<TResult>,这里只是列出有这两种常用的系统内置委托类型,具体使用和理解。请在参考资料中仔细阅读学习。

  • 相关阅读:
    zbb20171108 一台电脑启动多个 tomcat
    zbb20171101 oracle 启动 linux
    zbb20171017 svn Cleanup failed to process the following paths错误的解决
    zbb20171013 mysql服务重启 重启服务 重启mysql服务
    zbb20171013 mysql 远程连接 报错 1130-host ... is not allowed to connect to this MySql server
    zbb20171013 svnserver 修改默认端口
    zbb20171013 tomcat 设置访问ip地址直接访问项目
    zbb20171013 Windows 下端口占用 查询 以及结束进程的方法
    20171012 nginx 超时时间配置
    20171012 tomcat 超时时间配置
  • 原文地址:https://www.cnblogs.com/Tpf386/p/16205823.html
Copyright © 2020-2023  润新知