- ·上一篇内容:C#中使用泛型的优点
- ·下一篇内容:RIA延续HTML神话
C#泛型类型参数的使用
在泛型类型或方法定义中,类型参数是客户端在实例化泛型类型的变量时指定的特定类型的占位符。泛型类(如泛型介绍(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
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。