C#中的多播委托和泛型委托实例分析
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇"C#中的多播委托和泛型委托实例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇
千家信息网最后更新 2025年11月08日C#中的多播委托和泛型委托实例分析
这篇"C#中的多播委托和泛型委托实例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"C#中的多播委托和泛型委托实例分析"文章吧。
多播委托
简介
每一个委托都是继承自MulticastDelegate,也就是每个都是多播委托。
带返回值的多播委托只返回最后一个方法的值
多播委托可以用加减号来操作方法的增加或者减少。
给委托传递相同方法时 生成的委托实例也是相同的(也就是同一个委托)
代码实现
//声明委托 delegate void MulticastTest(); public class MulticastDelegateTest { public void Show() { MulticastTest multicastTest = new MulticastTest(MethodTest); multicastTest(); Action action =new Action(MethodTest); action = (Action)MulticastDelegate.Combine(action, new Action(MethodTest2)); action = (Action)MulticastDelegate.Combine(action, new Action(MethodTest3)); action = (Action)MulticastDelegate.Remove(action, new Action(MethodTest3)); action(); //等同于上面 action = MethodTest; action += MethodTest2; action += MethodTest3; action -= MethodTest3; foreach (Action action1 in action.GetInvocationList()) { action1(); } Console.WriteLine("=========="); action(); Func func = () => { return "我是Lambda"; }; func += () => { return "我是func1"; }; func += () => { return "我是func2"; }; func += GetTest; func += GetTest; //给委托传递相同方法时 生成的委托实例也是相同的(也就是同一个委托) string result = func(); Console.WriteLine(result); Console.WriteLine("=========="); } #region 委托方法 public void MethodTest() { Console.WriteLine("我是方法MethodTest()1"); } public void MethodTest2() { Console.WriteLine("我是方法MethodTest()2"); } public void MethodTest3() { Console.WriteLine("我是方法MethodTest()3"); } public string GetTest() { return "我是方法GetTest()"; } #endregion } 泛型委托
代码实现
//泛型委托声明 delegate void GenericDelegate(T t); public class GenericDelegate { public static void InvokeDelegate() { GenericDelegate genericDelegate = new GenericDelegate (Method1); genericDelegate("我是泛型委托1"); //官方版本(不带返回值) Action action = new Action (Method1); action("我是泛型委托1"); //Action GenericDelegate genericDelegate1 = new GenericDelegate (Method2); genericDelegate1(2); //官方版本(带回值) Func func = new Func (Method3); string ret = func("我是带返回值Func委托"); Console.WriteLine( ret ); //Func } #region 委托方法 public static void Method1(string str) { Console.WriteLine(str); } public static void Method2(int num) { Console.WriteLine("我是泛型委托2 "+num); } public static string Method3(string str ) { return str; } #endregion }
以上就是关于"C#中的多播委托和泛型委托实例分析"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
委托
方法
实例
内容
相同
实例分析
C#
分析
也就是
代码
官方
文章
版本
知识
篇文章
生成
价值
减号
大部分
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
黄埔app软件开发哪家好
潍柴软件开发怎么样
数据库开发设计论文
数据库中哪些运算是一元关系运算
华东交大计算机网络技术期末考试
协同软件开发怎样
网络技术与软件学院
随着网络安全法的颁布与实施
数据库的安全机制的四个层次
网络安全铁路招收吗
广汉飞行学院网络安全研究生
火车站如何实现车次管理数据库
云计算服务器优缺点
orcl数据库怎么删掉
我的世界服务器怎么给权限
河北精英网络技术咨询联系人
中国地方志数据库万方
咸鱼二手服务器能买吗
v表示什么数据库
网络存储服务器方案
国家网络安全员技能大赛
信息网络安全的第二世代
微课软件开发论文
惠普戴尔二手服务器回收
房地产估价数据库
轻量服务器防火墙配置
成都软件开发应该考虑什么
杭州股票配资软件开发公司
加强个人电脑网络安全
华上服务器