C#的委託事件

这篇博客探讨了C#中的委托(Delegate)概念,它相当于函数指针,允许在运行时改变对方法的引用。文章通过示例展示了如何在方法中使用委托作为参数,以及如何实现多播委托。此外,还提到了委托与事件的关系,以及匿名方法在其中的作用。文章深入浅出地解释了如何在文件下载和解压缩过程中利用委托来显示进度。
摘要由CSDN通过智能技术生成

在實現C#窗體顯示文件下載進度以及解壓縮的過程中,查找別人實現方法,發現用了委託的方法。自己搜索資料理解做一個記錄

C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。

委托(Delegate)使用函數做作為參數用于实现事件和回调方法。

 public class Test
{
  
    public void GreetPeople(string name, GreetingDelegate MakeGreeting ,GreetingDelegate Sum) 
	{
	    int a,int b;
		//代表English(string name)
        MakeGreeting(name);
		//代表sum(int a ,int b)
		Sum(a,b);
    }
	

	
	//声明delegate对象
	public delegate void  GreetingDelegate(string Name);
	
	
	public void  English(string name)
	{
	    Console.WriteLine("Morning, " + name);
	}
	
    public void Chinese(string name)
	{
	   Console.WriteLine("早上好," + name); 
	}
	
	public void  sum(int a ,int b)
	{
	
	   int c = a+b;
	   Console.WriteLine("a+b="+c)
	}
	
	
	public  void   GetSomthing()
   {
	 string name="jamze zhang ";
	 //代理參數,函數作為參數
	 GreetPeople(name,English,sum);
	
   }
   
    //将多个方法赋给同一个委托
   public  static  void   main()
	{
	 //創建delegatel對象
	 GreetingDelegate delegate1 = new GreetingDelegate(English);// 先给委托类型的变量赋值
     delegate1 += ChineseGreeting;  // 给此委托变量再绑定一个方法
	 //調用多播
	 delegate1("jamze")
	}
}

.Net Framework中的委托与事件

詳情:C#的事件與委託_jane007123的专栏-CSDN博客

            C#中 委托和事件的关系 - zooz - 博客园

匿名方法:[C#] C# 基础回顾 - 匿名方法 - 反骨仔 - 博客园

                C# 匿名函数_一切从心开始-CSDN博客_c# 匿名函数

函數參數 object sender ,EventArgs e

               [C#] C# 基础回顾 - 匿名方法 - 反骨仔 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值