C#委托
所谓【委托】:顾名思义,就是把要做的事情交待给其他人做,在C#中,有时不方便实现跨类进行访问操作,此场景便是委托的一个重要且常用的应用场合。C#委托技术是后续 事件知识的学习基础内容。
【C#委托】的5个步骤:
【1】定义委托(字段):委托本质上是一个特殊的类,所以编码的位置一般情况下放在namespace下,与class同级;注意命名带一个Delegate在名称后;
namespace _TestDelegateDirJason { public delegate void RecordDelgeate(String msg);//【1】定义委托字段。记录消息的委托; public partial class Form1 : Form
【2】定义委托变量;
RecordDelgeate record1 = null;
【3】定义委托方法:定义符合委托签名(委托的格式)的函数;
public void RecordMsg(string MsgStr)//【3】定义委托方法 { string StrTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); textBox1.Text += $"<{StrTime}>>{MsgStr}\r\n"; }
【4】绑定委托:使用+=号来绑定/注册委托的方法;
record1 += RecordMsg;//委托1绑定2个同样签名的函数 record1 += logSave.AddMsg;
【5】使用/调用委托;
record1("窗口打开"); ///可以多次使用 #region MyRegion//按钮按下事件 private void button1_Click(object sender, EventArgs e) { record1(button1.Text + "按下"); }
示例运行效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App