C# 泛型方法


static void Main(string[] args)
{  

  TestClass cls = new TestClass();
  cls.GetType("123");

  Student stu = new 泛型方法.Student();
  stu.Name = "王五";
  stu.Age = 23;

  //只有在使用才能確定類型
  cls.GetParam<Student>(stu);

 

  Console.ReadKey();

}



public class TestClass
{

     /// <summary>
       /// object是任何類型的父類,都可以用子類的元素代替,實質進行類型的轉換消耗了性能
       /// </summary>
       /// <param name="tParam"></param>
        public void GetType(object tParam)
        {
       // tParam參數只有四個方法調用, Console.WriteLine(
"類型為:"+tParam.GetType()); } /// <summary> /// 泛型方法,T參數類型只有在使用時候才能確定類型,泛型方法進行約束,則T類型必須是People或其子類,否則程序會報錯 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="tParam"></param> public void ShowGeneric<T>(T tParam) where T :People { Console.WriteLine("類型為:" + tParam.GetType() + " ,姓名為:" + tParam.Name);
       //SayHi()是People父類的方法 tParam.SayHi(); }
/// <summary> /// 泛型方法沒有約束的 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="tParam"></param> public void GetParam<T>(T tParam) {
       // is 用於判斷類型
if (tParam is Student) { Student stu = tParam as Student; Console.WriteLine("類型為:" + tParam.GetType() + "其他的" + stu.Name); } else Console.WriteLine("類型為:" + tParam.GetType()); }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM