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

C# 2.0 泛型程式設計基礎(三):泛型方法宣告/呼叫/多載/覆寫、約束繼承規則完整範例

     編輯:關於C語言

泛型方法特性

  • 僅支援方法宣告層級的型別參數
  • 不支援屬性/事件/索引器等其他成員直接使用型別參數(但可使用外層泛型類別的參數)
  • 可存在於泛型或非泛型類別中

完整範例


using System;
using System.Collections.Generic;
using System.Text;

namespace GenericTest
{
    class GenericClass
    {
        // 宣告泛型方法
        public T getvalue(T t) => t;

        // 呼叫泛型方法:明確指定型別引數
        public int useMethod() => this.getvalue(10);

        // 多載:非泛型版本
        public int getvalue(int i) => i;
    }

    // 覆寫示範:約束自動繼承,不需重複指定
    abstract class Parent
    {
        public abstract K TEST(K k, V v) where K : V;
    }

    class Child : Parent
    {
        public override T TEST(T t, S s) => t;
    }
}

關鍵點

  • 呼叫時需明確指定型別引數:getvalue(10)
  • 多載解析優先匹配非泛型版本
  • 覆寫時約束自動繼承,子類別無需重寫 where 子句
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved