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

c# invoke方法

作者:二分醒amor   发布日期:2026-05-01   浏览:115

using System;
using System.Threading;

class Program
{
    delegate void MyDelegate(string message);

    static void Main()
    {
        // 创建一个委托实例,指向WriteMessage方法
        MyDelegate myDelegate = new MyDelegate(WriteMessage);

        // 使用Invoke方法直接调用委托
        myDelegate.Invoke("这是使用Invoke方法调用的委托");

        // 模拟异步操作
        Thread thread = new Thread(new ThreadStart(() =>
        {
            // 在另一个线程中调用委托
            myDelegate.Invoke("这是在另一个线程中使用Invoke方法调用的委托");
        }));

        thread.Start();
        thread.Join(); // 等待线程完成

        Console.ReadLine();
    }

    static void WriteMessage(string message)
    {
        Console.WriteLine(message);
    }
}

解释说明:

  1. 委托声明delegate void MyDelegate(string message); 定义了一个名为 MyDelegate 的委托类型,它接受一个字符串参数并返回 void

  2. 创建委托实例MyDelegate myDelegate = new MyDelegate(WriteMessage); 创建了一个 MyDelegate 类型的委托实例,并将其绑定到 WriteMessage 方法。

  3. Invoke 方法myDelegate.Invoke("这是使用Invoke方法调用的委托"); 使用 Invoke 方法直接调用委托,传递一个字符串参数给 WriteMessage 方法。

  4. 异步调用:通过创建一个新的线程并在该线程中调用委托的 Invoke 方法,演示了如何在不同线程中使用 Invoke 方法。

  5. 等待线程完成thread.Join(); 用于等待新线程完成其任务,确保主线程不会提前结束。

  6. WriteMessage 方法:这是一个简单的输出方法,接收一个字符串参数并打印到控制台。

上一篇:.net和c#

下一篇:c# string.format 小数位数

大家都在看

c# 二进制

c# 创建目录

c# socket服务端连接多个客户端

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

c# invoke方法

.net和c#

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

Laravel 中文站