超碰人人人人人,色婷婷综合久久久久中文一区二区,国产-第1页-浮力影院,欧美老妇另类久久久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#委托運(yùn)用-將方法作為參數(shù)

admin
2025年4月19日 14:54 本文熱度 77

摘要

 ?    

本文描述了如何在C# 中運(yùn)用委托將方法作為參數(shù)。

前言 


在學(xué)習(xí)Halcon的過程中給,學(xué)習(xí)了繪制對象綁定事件的方式,它通過將方法作為參數(shù)傳遞進(jìn)去在內(nèi)部實現(xiàn)其功能。  在C#中如何將方法作為參數(shù)傳遞呢,當(dāng)然是用委托。

(一)基本流程

此案例的基本流程

1、創(chuàng)建一個消息模型MessageModel(MessageEventsModel):作為委托中的參數(shù)。  

2、創(chuàng)建一個消息發(fā)送者SqlMessageSender :模擬操作,然后將操作消息發(fā)送出去。  

 3、創(chuàng)建一個消息接收者M(jìn)essageReceiver:接收發(fā)送者發(fā)送的消息。   

4、在程序如何Main中創(chuàng)建發(fā)送者(SqlMessageSender)和接收者(MessageReceiver)對象。   

5、將接收方法作為參數(shù)傳入發(fā)送者創(chuàng)建的OnMessageUpdate方法中。

OnMessageUpdate(messageReceiver.MessageReceivedCallback);?

一、預(yù)覽 


(一)運(yùn)行效果

二、代碼 


(一)Program代碼

   
Program
internal static class Program{    static void Main()    {        SqlMessageSender sqlMessageSender = new SqlMessageSender();        MessageReceiver messageReceiver = new MessageReceiver();        sqlMessageSender.OnMessageUpdate(messageReceiver.MessageReceivedCallback);        sqlMessageSender.Add();        sqlMessageSender.Delete();        sqlMessageSender.Update();        sqlMessageSender.Query();    }}#region 消息接收者public class MessageReceiver{    public void MessageReceivedCallback(MessageEventsModel messageModel)    {        Console.WriteLine($"【{this.GetType().Name}】=>接收到消息【{messageModel.Message},消息等級:{messageModel.Level}】");    }}#endregion#region 消息發(fā)布者public class SqlMessageSender{    private MessaegeUpdateCallbackClass InternalFunc;    public void OnMessageUpdate(MessaegeUpdateCallbackClass func)    {        InternalFunc = func;        func?.Invoke(new MessageEventsModel(MessageLevel.Info, $"回調(diào)方法傳遞"));    }    public void Add()    {        OnFunc("添加");    }    public void Delete()    {        OnFunc("刪除");    }    public void Update()    {        OnFunc("修改");    }    public void Query()    {        OnFunc("查詢");    }    private void OnFunc(string message)    {        InternalFunc?.Invoke(new MessageEventsModel(MessageLevel.Info, $"執(zhí)行:{message} "));    }}#endregion#region 消息/// <summary>/// 消息委托/// </summary>public delegate void MessaegeUpdateCallbackClass(MessageEventsModel MessageModel);
/// <summary>/// 消息事件委托/// </summary>public class MessageEventsModel{    public string Message { getset; }    public MessageLevel Level { getset; }    public MessageEventsModel(MessageLevel level, string message)    {        Level = level;        Message = message;    }}/// <summary>/// 消息等級枚舉/// </summary>public enum MessageLevel{    /// <summary>    /// 無異常    /// </summary>    None = 0,    /// <summary>    /// 信息    /// </summary>    Info,    /// <summary>    /// 警告    /// </summary>    Warning,    /// <summary>    /// 錯誤    /// </summary>    Error,    /// <summary>    /// 致命錯誤    /// </summary>    Fatal,}#endregion
   

END


作者:編程筆記in

出處:blog.csdn.net/weixin_43626218/article/details/141433450


該文章在 2025/4/19 14:54:46 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved