1. 程式人生 > >C#中泛型方法與泛型介面

C#中泛型方法與泛型介面

http://blog.csdn.net/aladdinty/article/details/3486532

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace 泛型
  6. {
  7. class 泛型介面
  8.     {
  9. publicstaticvoid Main()
  10.         {
  11.             PersonManager man = new PersonManager();
  12.             Person per = new Person();
  13.             man.PrintYourName(per);
  14.             Person p1 = new Person();
  15.             p1.Name = "p1";
  16.             Person p2 = new Person();
  17.             p2.Name = "p2";
  18.             man.SwapPerson<Person>(ref p1, ref p2);
  19.             Console.WriteLine( "P1 is {0} , P2 is {1}" , p1.Name ,p2.Name);
  20.             Console.ReadLine();
  21.         }
  22.     }
  23. //泛型介面
  24. interface IPerson<T>
  25.     {
  26. void PrintYourName( T t);
  27.     }
  28. class Person
  29.     {
  30. publicstring Name = "aladdin";
  31.     }
  32. class PersonManager : IPerson<Person>
  33.     {
  34.         #region IPerson<Person> 成員
  35. publicvoid PrintYourName( Person t )
  36.         {
  37.             Console.WriteLine( 
    "My Name Is {0}!" , t.Name );
  38.         }
  39.         #endregion
  40. //交換兩個人,哈哈。。這世道。。
  41. //泛型方法T型別作用於引數和方法體內
  42. publicvoid SwapPerson<T>( ref  T p1 , ref T p2)
  43.         {
  44.             T temp = default(T) ;
  45.             temp = p1;
  46.             p1 = p2;
  47.             p2 = temp;
  48.         }
  49.     }
  50. }