文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#委托的基础概念和特点

2023-06-17 12:56

关注

本篇内容主要讲解“C#委托的基础概念和特点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#委托的基础概念和特点”吧!

委托具有以下特点:

委托类似于 C++ 函数指针,但它是类型安全的。

委托允许将方法作为参数进行传递。

委托可用于定义回调方法。

委托可以链接在一起;例如,可以对一个事件调用多个方法。

方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。

C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。

在C#中使用委托分为三步:

1.定义委托:

//声明委托  public delegate void MyDel();

2.实例化委托:

TestDel t = new TestDel();   Console.WriteLine("-----以下是简单使用委托演示--------");  //t.MyMethod();  ///实例化委托,用一个方法来进行实例化  ///该方法签名要与委托签名一致  MyDel del = new MyDel(t.MyMethod);

3.调用委托:

///调用委托  del();

好了,其实委托的变化很复杂,但基本都会符合这么三个步骤,说过了,这些,再来看一下完整的代码:

namespace DelegateDemo{   //声明委托   public delegate void MyDel();   //声明带参的委托   public delegate void MyDel2(int num1, int num2);   //声明带有返值的委托   public delegate string MyDel3(string s);   //声明委托用于演示匿名方法   public delegate string ProcessString(string s);   class Program { static void Main(string[] args)   { #region 委托演示      #endregion   //MyReturnDelegateTest my = new MyReturnDelegateTest();   //my.MyTest();   MyParamDelegateTest myParam = new MyParamDelegateTest(); myParam.AddBooks();   myParam.MyTest();   } }  public class TestDel {   #region 普通方法   public static void MyStaticMethod()   {   Console.WriteLine("My Static Method");   }   public void MyMethod()   {   Console.WriteLine("MyMethod");   }   public void MyMethod2()   {   Console.WriteLine("My Method 22222222222"); }   public static void MyMethod3()   {   Console.WriteLine("My Method 3333333333333");   }   public void MyMethod(int num1, int num2) { Console.WriteLine(num1+num2);   }   public string MyMethod(string s)   { return s.ToUpper(); }   #endregion   /// <summary>   /// 委托作为方法参数   /// </summary>   /// <param name="s"></param>   /// <param name="del3"></param>   public static void MyParamMethod(string s, MyDel3 del3) { Console.WriteLine(del3(s)); }   /// <summary>   /// 委托作为返回值   /// </summary>   /// <param name="s"></param>   /// <returns></returns> public MyDel3 MyReturnMethod() {   ///返回符合委托规范的方法   return MyMethod;   }   }

通过例子,我们可以知道,使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时(这里用“调用”这个词,是因为此变量代表一个方法),可以依次调用所有绑定的方法。

到此,相信大家对“C#委托的基础概念和特点”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯