• C#委托使用


    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 delegate void DelegateParam(List<string> _string);
    
        public partial class Form2 : Form
        {
            public event DelegateParam Transmit;
            public Action<string> action;
            public Func<string,int> func;
            public Predicate<string> predicate;
            public Form2()
            {
                InitializeComponent();
                this.button2.Click += Button2_Click;         
            }
            private void Button2_Click(object sender, EventArgs e)
            {
                Transmit?.Invoke(new List<string>() { this.label1.Text.ToString() });
                action?.Invoke(this.label1.Text.ToString());
                int? a = func?.Invoke(this.label1.Text.ToString());
                MessageBox.Show(a.ToString());
                bool? status= predicate?.Invoke(this.label1.Text.ToString());
                MessageBox.Show(status.ToString());
            }
        }
    }
    
    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();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                Form2 form2 = new Form2();
                form2.Transmit += new DelegateParam(DelegateReceiveParam);
                form2.action += new Action<string>(ActionReceiveParam);
                form2.func += new Func<string, int>(FuncReceiveParam);
                form2.predicate += new Predicate<string>(PredicateReceiveParam);
                form2.Show();
            }
            public void DelegateReceiveParam(List<string> vs)
            {
                this.label1.Text = vs[0];
            }
            public void ActionReceiveParam(string vs)
            {
                this.label1.Text = vs;
            }
            public int FuncReceiveParam(string vs)
            {
                this.label1.Text = vs;
                return 1;
            }
            public bool PredicateReceiveParam(string vs)
            {
                this.label1.Text = vs;
                return true;
            }
        }
    }
    
  • 相关阅读:
    centos 7 搭建 LNMP ( Linux+Nginx+MySQL+PHP )
    centos 7 安装 redis-5.0.5
    centos 7 安装 Oracle 12c
    centos 7 SVN安装脚本搭建主从同步灵活切换
    Windwos Java‘bat 环境变量配置脚本
    centso 7 Keepalived 配置脚本
    centos 7 私有云盘 OwnCloud 安装搭建脚本
    Linux fing cd 查找文件/文件夹并进入目录命令
    Linux grep命令 -- 三剑客老三
    基础脚本
  • 原文地址:https://www.cnblogs.com/772933011qq/p/10717534.html
Copyright © 2020-2023  润新知