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()); }
}

 

转载于:https://www.cnblogs.com/yang12311/p/10500106.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值