c#中实现委托的方式有很多种,除了使用delegate关键字Delegate对象定义委托以外,还可以使用 Action Func泛型委托。 Action泛型委托表示引用一个 void返回类型的方法。这个委托类别有不同的重载实现,最多可以传递 16个参数

Func泛型委托Action泛型委托类似。但Func泛型委托Action泛型委托的区别就是允许调用带返回值的方法,此外Func泛型委托定义了不同的重载实现,最多可以传输 16个参数和返回值。

接下来就让我们一起看看Action泛型委托和Func泛型委托的使用场景,首先来看看Action泛型委托示例代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // 定义无返回值委托
        public Action<string> OnNoRet;

        //定义有返回值委托
        public Func<string, string> OnYesRet;

        private void Form1_Load(object sender, EventArgs e)
        {
            //绑定委托
            OnNoRet += NoRet;
            OnYesRet += YesRet;
        }

        public void NoRet(string str)
        {
            Console.WriteLine($"仅输出文本{str},不返回值");
        }

        public string YesRet(string str)
        {
            return str + "带返回值方法";
        }
    }
}
最后修改:2022 年 10 月 10 日
免责声明:本站为个人博客,博客所发布的一切修改补丁、注册机和注册信息及软件的文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途。否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款。