具有值类型T的泛型
本文关键字:泛型 类型 | 更新日期: 2023-09-27 18:10:31
是否可以定义一个泛型类,其中T只能属于值类型(例如int, double等)?
是的,你需要一个struct
约束:
class OnlyStructs<T> where T : struct { }
但是你应该意识到这也允许用户定义的结构,而不仅仅是int
, double
等。不幸的是,没有内置的方法来限制T
仅为特定类型,如where T : int,double,float
。
在通用约束where T : struct
中使用struct