首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 2.0 泛型程式設計入門教學 (4) - 靜態建構函式、方法多載、覆寫與總結

     編輯:關於C語言

泛型靜態建構函式

規則:唯一、無參數、由 CLR 自動呼叫。觸發時機:

  1. 特定封閉型別首次實例化
  2. 特定封閉型別任一靜態成員被存取

不同封閉型別 (List<int>、List<string>) 各有獨立靜態建構函式。

泛型類別方法多載

public class Node<T, V>
{
    public T Add(T a, V b) { return a; }      // 1
    public T Add(V a, T b) { return b; }      // 2
    public int Add(int a, int b) { return a+b; } // 3 (一般方法)
}
  • Node<int, int> 使三個 Add 簽章相同,但呼叫 node.Add(2,11) 時優先匹配一般方法 (第 3 個)
  • 移除第 3 個則編譯錯誤 (無法在 1、2 中選擇)
  • Node<string, int> 簽章不同,正常匹配

原則:一般方法與泛型方法簽章相同時,一般方法優先 (覆蓋泛型方法)。

方法覆寫

簽章識別規則同多載。

泛型適用範圍

除類別,亦可用於方法、介面、結構、委派。

小結

C# 泛型提供型別安全、效能提升、減少重複程式碼,語法優雅。雖根基於 C++ 模板,但透過兩階段編譯、中繼資料、約束等創新提升至新高度。未來版本將持續擴展至資料存取、在地化等領域。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved