在泛型類型或方法定義中,類型參數是客戶端在實例化泛型類型的變量時指定的特定類型的占位符。泛型類(如泛型介紹(C# 編程指南)中列出的 GenericList<T>)不可以像這樣使用,因為它實際上并不是一個類型,而更像是一個類型的藍圖。若要使用 GenericList<T>,客戶端代碼必須通過指定尖括號中的類型參數來聲明和實例化構造類型。此特定類的類型參數可以是編譯器識別的任何類型。可以創建任意數目的構造類型實例,每個實例使用不同的類型參數,如下所示:
GenericList<ExampleClass> list2 = new GenericList<ExampleClass>();
GenericList<ExampleStruct> list3 = new GenericList<ExampleStruct>();
在每個 GenericList
public delegate TOutput Converter<TInput, TOutput>(TInput from);
public class List<T> { /*...*/ }
考慮使用 T 作為具有單個字母類型參數的類型的類型參數名。
public delegate bool Predicate<T>(T item);
public struct Nullable<T> where T : struct { /*...*/ }
務必將“T”作為描述性類型參數名的前綴。
考慮在參數名中指示對此類型參數的約束。例如,可以將帶有 ISession約束的參數命名為TSession
新聞熱點
疑難解答