閱讀829 返回首頁    go 小米 go 小米6


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麵向對象編程漫談》有關代理的內容

最後更新:2017-04-03 20:19:49

  上一篇:go iBatis和Hibernate的對比
  下一篇:go Android開發15——給TextView加上滾動條