Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# 回调

作者:叶落↘随心   发布日期:2025-03-04   浏览:112

using System;

namespace CallbackExample
{
    class Program
    {
        // 定义一个委托,用于表示回调函数的签名
        public delegate void CallbackDelegate(string message);

        static void Main(string[] args)
        {
            // 创建一个回调函数实例
            CallbackDelegate callback = new CallbackDelegate(PrintMessage);

            // 调用带有回调的方法
            DoSomethingWithCallback(callback);

            Console.ReadLine();
        }

        // 一个简单的任务方法,完成后调用传入的回调函数
        static void DoSomethingWithCallback(CallbackDelegate callback)
        {
            Console.WriteLine("开始执行任务...");
            // 模拟一些处理时间
            System.Threading.Thread.Sleep(2000);
            Console.WriteLine("任务完成.");

            // 调用回调函数
            if (callback != null)
            {
                callback("这是来自DoSomethingWithCallback的回调消息");
            }
        }

        // 回调函数的实现
        static void PrintMessage(string message)
        {
            Console.WriteLine("接收到回调消息: " + message);
        }
    }
}

解释说明:

  1. 定义委托CallbackDelegate 是一个委托类型,它定义了回调函数的签名。这里我们定义了一个返回类型为 void 并接收一个 string 参数的委托。
  2. 创建回调函数PrintMessage 是一个实现了 CallbackDelegate 委托签名的方法,它会在回调时被调用。
  3. 调用带有回调的方法DoSomethingWithCallback 方法模拟了一个耗时的任务,并在任务完成后调用了传入的回调函数。
  4. 主程序:在 Main 方法中,我们创建了一个 CallbackDelegate 实例并传递给 DoSomethingWithCallback 方法。

这个示例展示了如何在 C# 中使用回调机制来处理异步或耗时操作的结果。

上一篇:c# 读取文件内容

下一篇:c# 输出

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

.net和c#

c#游戏开发

c#网络编程

c# rectangle

c# if else

c# rtsp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站