delegate引用参数示例

简介:

委托对我来说一直是个没有掌握全的东西,它的使用方式多使用范围广,记得最初是在学习线程的时候接触的,再后来的学习中一直有个疑问,就是注册多个事件后传参如果走,如果是引用参数它又是如何处理。当然实际结果一般学过点的人都猜的到,但是终究是推测,没测试没使用过总是畏畏缩缩的,下面就是我的一个例子。

ps:因为广播的时候顺序是按照添加顺序广播的,每次广播都会修改原先的参数后才进行下个方法,做一就是下面这么个结果,如果需要的话可以把那个时间格式化下,或者每次sleep一秒钟,时间就不同了,换图片好麻烦的。。。。


    delegate void strFactory(ref string str);
    
class Program
    {
        
static void Main(string[] args)
        {
            strFactory fac 
= new strFactory(test);
            fac 
+= test;
            
string str="startTime:";
            fac 
+= test;
            fac(
ref str);
            Console.WriteLine(str);
        }
        
static void test(ref string str)
        {
            str 
+= string.Format("{0}\t", DateTime.Now.ToLocalTime().ToString ());
        }
    }

 结果:



本文转自today4king博客园博客,原文链接:http://www.cnblogs.com/jinzhao/archive/2009/03/16/1413315.html,如需转载请自行联系原作者

相关文章
|
7月前
|
存储 C#
C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
方法是一段代码,只有在调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,也被称为函数。 为什么使用方法?为了重用代码:定义一次代码,然后多次使用。
129 0
|
7月前
|
Java
【Java方法重载】 定义,使用,理解,示例解读
【Java方法重载】 定义,使用,理解,示例解读
163 0
lodash创建一个新的对象,对象的属性名是和传入对象一样,值则在函数中修改
lodash创建一个新的对象,对象的属性名是和传入对象一样,值则在函数中修改
121 0
|
测试技术 Android开发
怎么知道方法的参数有哪些类型呢?
怎么知道方法的参数有哪些类型呢?
214 0
|
C++
VS 显示方法引用的设置方法
VS 中Codelens的设置面板没有相关的设置项?那如何调整出方法的引用呢?
2252 0
VS 显示方法引用的设置方法
|
C语言 Kotlin
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(一)
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(一)
267 0
|
Kotlin
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(二)
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(二)
369 0
|
C语言 Android开发 C++
【C++】函数 指针类型参数 与 引用类型参数 对比 ( 修改外部变量需要传入的参数要求 | 参数作返回值 )
【C++】函数 指针类型参数 与 引用类型参数 对比 ( 修改外部变量需要传入的参数要求 | 参数作返回值 )
195 0