wordpress dms,seo网站排名,软件开发的八个步骤,青岛百度推广seo价格目录
了解委托
委托使用的基本步骤
声明委托(定义一个函数的原型#xff1a;返回值 参数类型和个数#xff09;
根据委托定义的函数原型编写需要的方法
创建委托对象#xff0c;关联“具体方法”
通过委托调用方法#xff0c;而不是直接使用方法
委托对象所关联的方…目录
了解委托
委托使用的基本步骤
声明委托(定义一个函数的原型返回值 参数类型和个数
根据委托定义的函数原型编写需要的方法
创建委托对象关联“具体方法”
通过委托调用方法而不是直接使用方法
委托对象所关联的方法可以动态变化
委托应用场景 了解委托
委托是一种全新的面向对象的特性运行在.Net平台基于委托开发事件驱动程序变得非常简单使用委托可以大大简化多线程编程难点
委托使用的基本步骤 声明委托(定义一个函数的原型返回值 参数类型和个数 根据委托定义的函数原型编写需要的方法 创建委托对象关联“具体方法” 通过委托调用方法而不是直接使用方法 委托对象所关联的方法可以动态变化 委托对象的声明一般是放在类外面。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace DelegateDemo
{internal class Program{static void Main(string[] args){//[3]创建委托对象关联具体方法CalculatorDelegate objCal new CalculatorDelegate(Add);//[4]通过委托去调用方法而不是直接使用方法int result objCal(10, 20);Console.WriteLine(10 20 {0}, result);objCal - Add; //断开当前委托对象关联的方法objCal Sub; //重新指向一个新的方法减法result objCal(10, 20); //重新使用委托对象完成减法功能Console.WriteLine(10 - 20 {0}, result);Console.ReadLine();}//[2]根据委托对象创建一个具体方法实现加法功能static int Add(int a, int b){return a b;}//[2]根据委托对象创建一个具体方法实现减法功能static int Sub(int a, int b){return a - b;}}//[1]声明委托(定义一个函数的原型返回值 参数返回个数和类型)public delegate int CalculatorDelegate(int a, int b);
}委托应用场景
利用委托实现主窗体和从窗体之间传值 主窗体FrmMain.cs 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 DelegateDemo3
{public partial class FrmMain : Form{public FrmMain(){InitializeComponent();FrmOther objFrm new FrmOther();//将从窗体的委托变量和主窗体对应的方法关联objFrm.msgSender this.Receiver;objFrm.Show();}/// summary/// 接收委托传递的信息/// /summary/// param namecounter/parampublic void Receiver(string counter){this.lblShow.Text counter;}}//委托声明public delegate void ShowCounter(string counter);
}从窗体FrmOther.cs 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 DelegateDemo3
{public partial class FrmOther : Form{public FrmOther(){InitializeComponent();}//根据委托创建委托对象public ShowCounter msgSender;//计数private int counter 0;private void btnClick_Click(object sender, EventArgs e){counter;if (msgSender ! null){msgSender(counter.ToString());}}}}