博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
委托/事件/线程传参简单理解
阅读量:5929 次
发布时间:2019-06-19

本文共 1070 字,大约阅读时间需要 3 分钟。

hot3.png

写了很多代码,但几乎都没写过委托/事件/线程传参方面应用的代码

因此自己总很容易理解后又遗忘
今天又重温了一下
因此以最简单的方式的代码方式写下来帮助理解
1.线程传参[简单几行代码]
 

 1 
static
 
void
 Main(
string
[] args)
 2 
        {
 3 
            
if
 (ThreadPool.QueueUserWorkItem(
new
 WaitCallback(Program.WritePara), 
"
这是传进去的参数
"
))
 4 
            {
 5 
                Console.WriteLine(
"
ok:
"
);
 6 
                Console.Read();
 7 
            }
 8 
 9 
        }
10 
   
protected
 
static
 
void
 WritePara(
object
 para)
11 
        {
12 
            Console.WriteLine(
"
hello:
"
+
para);
13 
        }
14 
15 

2.委托/事件

 1
public
 
class
 Program
 2
    
{
 3
       
delegate
 
void
 CallFunction(
object
 para);
//
定义委托[和定义方法一个样,简单理解为static 换成了delegate]
 4
       
private
 
static
 
event
 CallFunction CallEvenHandle;
//
定义事件[简单理解,有事件必有委托]
 5
        
static
 
void
 Main(
string
[] args)
 6
        
{
 7
            
//
调用委托,之前定义像方法,这里new了一个实例,和js的new一个function 差不多
 8
           CallFunction cf 
=
 
new
 CallFunction(WritePara);
 9
            cf.Invoke(
"
goodmorning
"
);
10
11
12
         
//
调用事件,打上"+="后按"Tab"键就出来了,简单使用 
13
         CallEvenHandle 
+=
 
new
 CallFunction(WritePara);
14
            CallEvenHandle(
"
CYQ
"
);
15
16
            
//
Console.Read();
17
        }
18
19
        
protected
 
static
 
void
 WritePara(
object
 para)
20
        
{
21
            Console.WriteLine(
"
hello:
"
+
para);
22
        }
23
    }
24

转载于:https://my.oschina.net/secyaher/blog/274077

你可能感兴趣的文章
【Android UI】自定义带按钮的标题栏
查看>>
解决tomcat stop报Illegal access: this web application instance has been stopped异常方法
查看>>
SpringIOC--初始化源码解析
查看>>
《Kotlin极简教程》第一章 Kotlin简介
查看>>
直播系统开发,完整的系统框架架构,打造完美的直播系统
查看>>
PHP常用函数
查看>>
mac设置终端命令行别名alias(git、npm)
查看>>
17-CSS基础-定位
查看>>
区块链开发公司出新招 银行使用区块链技术的好处
查看>>
PostgreSQL standby会不会做检查点? 以及做检查点的用处
查看>>
PostgreSQL 11 preview - TOAST切片阈值表级可配置
查看>>
Python基础 | pandas.dataframe 专题使用指南
查看>>
表单label里的文字默认是靠下的,如何靠上对齐?
查看>>
腾讯优图和《科学》合作背后的共同愿景:发挥连接和教育作用
查看>>
微信小程序开发系列六:微信框架API的调用
查看>>
Can't connect to host '*.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有响应,连接尝试失败。...
查看>>
运维调试记录:QSqlDatabase: QMYSQL driver not loaded
查看>>
ASP.NET Core 2.1中基于角色的授权
查看>>
【iOS开发】如何将 Array 存储在本地
查看>>
透明背景情况下遮罩出不规则图片
查看>>