当前位置:编程学习 > C#/ASP.NET >>

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

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

 

泛型委托

[csharp] 
class Program 

        // 泛型委托,与普通委托类似,不同之处只在于使用泛型委托要指定泛型参数          
        public delegate T MyGenericDelegate<T>(T obj1,T obj2); 
 
        int AddInt(int x, int y) 
        {  www.zzzyk.com
            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")); 
        } 

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表达式和开发并行计算程序时经常要用到他们。就是下面我的几篇博客需要介绍的内容。

 

 

 

补充:软件开发 , C# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,