`
wsql
  • 浏览: 11785827 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

C#委托基础3——泛型委托

 
阅读更多

C#委托基础系列原于2011年2月份发表在我的新浪博客中,现在将其般至本博客。

泛型委托

class Program
{
        // 泛型委托,与普通委托类似,不同之处只在于使用泛型委托要指定泛型参数        
        public delegate T MyGenericDelegate<T>(T obj1,T obj2);

        int AddInt(int x, int y)
        {
            return x + y;
        }

        string AddString(string s1, string s2)
        {
            return s1 + s2;
        }
       
        static void Main(string[] args)
        {
            Program p = new Program();
           
            MyGenericDelegate<int> intDel;
            intDel = p.AddInt;
            Console.WriteLine("int代理的值是{0}", intDel(100, 200));

            MyGenericDelegate<string> stringDel;
            stringDel = p.AddString;
            Console.WriteLine("string代理的值是{0}", stringDel("aaa", "bbb"));
        }
}

为了方便开发,.NET基类库针对在实际开发中最常用的情形提供了几个预定义好的委托,这些预定义委托用得很广,比如在编写lambda表达式和开发并行计算程序时经常要用到他们。就是下面我的几篇博客需要介绍的内容。

本文参考自金旭亮老师的《.NET 4.0面向对象编程漫谈》有关代理的内容

分享到:
评论

相关推荐

    C# 泛型深入理解介绍

    引言: 在上一个专题中介绍了C#2.0 中引入泛型的原因以及有了泛型后所带来的好处,然而上一专题相当于是介绍了泛型的一些基本知识的,对于泛型的性能为什么会比非泛型的性能高却没有给出理由,所以在这个专题就中将...

    深入理解C# 中文第三版

    在第2版的基础上,《深入理解C#(第3版)》新增了C# 5的新特性——异步,并更新了随着技术的发展,已经不再适用的内容,确保整本书能达到读者期望的高标准。 如果你略微了解一点C#,就可无障碍地阅读《深入理解C#(第3...

    C#入门——面向对象等,代码+注释

    第21天 01为什么会有委托 02泛型委托 03多播委托 04使用委托进行窗体传值 05事件 06事件 07程序集的引用 07Common 08反射的常用函数 09用反射制作计算器 第22天 01 SqlConnection 数据库 02...

    C#全能速查宝典

    《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...

    设计模式——基于 C#的工程化实现及扩展(部分章节)

    1.2.3 考验你的算法抽象能力——泛型(Generics) ....................................................... 12 1.2.4 用作标签的方式扩展对象特性——属性(Attribute) ..........................................

    ASP.NET开发实战1200例(第Ⅰ卷)第三章

    实例095 拆装箱终结者——泛型 150 实例096 定制循环——实现迭代器 152 实例097 实现IDisposable接口释放占有资源 153 实例098 对象比较——对象也能排序 155 实例099 无名英雄——匿名方法 156 实例100 .Net框架...

    CLR.via.C#.(中文第3版)(自制详细书签)

    17.6 委托定义太多啦(泛型委托) 17.7 C#为委托提供的简化语法 17.7.1 简化语法1:不需要构造委托对象 17.7.2 简化语法2:不需要定义回调方法 17.7.3 简化语法3:局部变量不需要手动包装到类中即可传给回调方法 ...

    CLR.via.C#.(中文第3版)(自制详细书签)Part2

    17.6 委托定义太多啦(泛型委托) 17.7 C#为委托提供的简化语法 17.7.1 简化语法1:不需要构造委托对象 17.7.2 简化语法2:不需要定义回调方法 17.7.3 简化语法3:局部变量不需要手动包装到类中即可传给回调方法 ...

    轻松学C#(图解版)

    第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。 =======================================...

    CLR.via.C#.(中文第3版)(自制详细书签)Part3

    CLR.via.C#.(中文第3版)(自制详细书签)Part3 CLR via C#(第3版) Jeffrey Richter 著 周靖 译 出版时间:2010年09月 页数:800 介绍 享有全球盛誉的编程专家Jeffrey Richter,这位与Microsoft .NET开发团队合作...

    CLR.via.C#.(中文第3版)(自制详细书签)Part1

    17.6 委托定义太多啦(泛型委托) 17.7 C#为委托提供的简化语法 17.7.1 简化语法1:不需要构造委托对象 17.7.2 简化语法2:不需要定义回调方法 17.7.3 简化语法3:局部变量不需要手动包装到类中即可传给回调方法 ...

    C#综合揭秘——细说多线程(下)

    要使用多线程开发,必须非常熟悉Thread的使用,而且在开发过程中可能会面对很多未知的问题...使用并行编程可以同时操作多个委托,在介绍并行编程前先简单介绍一下两个泛型委托System.Func&lt;&gt;与System.Action&lt;&gt;。Fu

    .NET之美:.NET关键技术深入分析

    第3章C#中的委托和事件 3.1理解委托 3.1.1 将方法作为方法的参数 3.1.2将方法绑定到委托 3.1.3委托与接口 3.2事件的由来 3.2.1 更好的封装性 3.2.2 限制类型能力 3.3委托的编译代码 3.4.NET框架中的委托和...

Global site tag (gtag.js) - Google Analytics