麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

C#泛型類型參數的使用

2023-05-17 11:41:53
字體:
來源:轉載
供稿:網友

在泛型類型或方法定義中,類型參數是客戶端在實例化泛型類型的變量時指定的特定類型的占位符。泛型類(如泛型介紹(C# 編程指南)中列出的 GenericList<T>)不可以像這樣使用,因為它實際上并不是一個類型,而更像是一個類型的藍圖。若要使用 GenericList<T>,客戶端代碼必須通過指定尖括號中的類型參數來聲明和實例化構造類型。此特定類的類型參數可以是編譯器識別的任何類型。可以創建任意數目的構造類型實例,每個實例使用不同的類型參數,如下所示:

GenericList<float> list1 = new GenericList<float>();
GenericList<ExampleClass> list2 = new GenericList<ExampleClass>();
GenericList<ExampleStruct> list3 = new GenericList<ExampleStruct>();

在每個 GenericList 實例中,類中出現的每個 T 都會在運行時替換為相應的類型參數。通過這種替換方式,我們使用一個類定義創建了三個獨立的類型安全的有效對象。 類型參數命名準則務必使用描述性名稱命名泛型類型參數,除非單個字母名稱完全可以讓人了解它表示的含義,而描述性名稱不會有更多的意義。

public interface ISessionChannel<TSession> { /*...*/ }
public delegate TOutput Converter<TInput, TOutput>(TInput from);
public class List<T> { /*...*/ }

考慮使用 T 作為具有單個字母類型參數的類型的類型參數名。

public int IComparer<T>() { return 0; }
public delegate bool Predicate<T>(T item);
public struct Nullable<T> where T : struct { /*...*/ }

務必將“T”作為描述性類型參數名的前綴。

public interface ISessionChannel<TSession> { TSession Session { get; } }

考慮在參數名中指示對此類型參數的約束。例如,可以將帶有 ISession約束的參數命名為TSession

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久αv | 久久噜噜噜精品国产亚洲综合 | 免费一级毛片免费播放 | 亚洲成人欧美 | 国产精品av久久久久久网址 | 特级无码毛片免费视频尤物 | 中文字幕 在线观看 | 国产自在线| 91短视频在线 | 国产免费观看电影网站 | 国产精品刺激对白麻豆99 | 久久国产乱子伦精品 | 日本在线不卡一区二区三区 | 亚洲成人在线视频网站 | 国产精品久久久久影院老司 | 精品中文字幕久久久久四十五十骆 | 天天草天天爱 | 欧美精品久久久久久久多人混战 | 超碰97人人艹 | 一区二区久久久久草草 | 他也色在线视频 | 毛片免费看的 | 久久久激情网 | 成人毛片在线免费看 | 久夜草 | 久久久国产视频 | 亚洲福利在线视频 | 亚洲特黄 | 欧美成人免费在线视频 | 日韩美女电影 | 成人福利在线免费观看 | 特一级黄色毛片 | 久久久av亚洲男天堂 | 日本教室三级在线看 | 精精国产xxxx视频在线播放7 | 成人男女视频 | 午夜激情视频免费 | 成人福利视频 | 欧美黄色免费视频 | 欧美精品v国产精品v日韩精品 | 国产精选在线 |