程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C# 2.0泛型編程基礎(3)

C# 2.0泛型編程基礎(3)

編輯:關於C語言

我們再來看泛型方法,C#的泛型機制只支持在方法申明上包含類型參數,也即是泛型方法。特別注意的是,泛型不支持在除了方法以外的其他類/接口成員上使用類型參數,但這些成員可以被包含在泛型類型中,並且可以使用泛型類型的類型參數。還有一點需要說的就是,泛型方法可以在泛型類型中,也可以存在於非泛型類型中。下面我們分別看一下泛型類型的申明,調用,重載和覆蓋。

using System;
using System.Collections.Generic;
using System.Text;
namespace GenericTest
{
 class GenericClass
 {
  //申明一個泛型方法
  public T getvalue<T>(T t)
  {
   return t;
  }
  //調用泛型方法
  //注意:在調用泛型方法時,對泛型方法的類型參數實例化
  public int useMethod()
  {
   return this.getvalue<int>(10);
  }
  //重載getvalue方法
  public int getvalue(int i)
  {
   return i;
  }
 }
 //下面演示覆蓋
 //要注意的是,泛型方法被覆蓋時,約束被默認繼承,不需要重新指定約束關系
 abstract class Parent
 {
  public abstract K TEST<K, V>(K k, V v) where K : V;
 }
 class Child : Parent
 {
  public override T TEST<T, S>(T t, S s)
  {
   return t;
  }
 }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved