delegate引用参数示例

简介:

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

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

ExpandedBlockStart.gif
    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,如需转载请自行联系原作者

相关文章
|
4月前
|
JavaScript
为什么data属性是一个函数而不是一个对象?
为什么data属性是一个函数而不是一个对象?
29 1
lodash创建一个新的对象,对象的属性名是和传入对象一样,值则在函数中修改
lodash创建一个新的对象,对象的属性名是和传入对象一样,值则在函数中修改
86 0
|
测试技术 Android开发
怎么知道方法的参数有哪些类型呢?
怎么知道方法的参数有哪些类型呢?
179 0
|
Kotlin
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(二)
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(二)
191 0
|
C语言 Kotlin
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(一)
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(一)
232 0
把两个object对象合并成一个对象 属性名称相同的变为后面对象的值
把两个object对象合并成一个对象 属性名称相同的变为后面对象的值
559 0
|
测试技术
Object C学习笔记3-对象的使用和定义
  1. 如何定义一个对象   在面向对象的语言中,定义一个对象是使用Class关键字,而在Object-C中则是使用@interface,@interface用于定义对象的属性和方法,@implementation则用于对象的详细描述。
837 0