我正在使用自定义指针大小创建一个对象池类。一直输入名称和通用参数会很繁琐。我可以这样做:
type ObjectPool<'P, 'T when 'T: unmanaged>(size: int) =
type PTR = TypedPointer<'P, 'T>
... use PTR instead of TypedPointer<'P, 'T> here ...
答案 0 :(得分:1)
我认为你不能在类中声明类型别名,类似于你不能声明嵌套类的方式。因此,您可以获得的最接近的是在模块/命名空间内声明一个私有类型别名,但您仍然需要保留类型参数:
module Pool
type private Ptr<'p,'t> = TypedPointer<'p,'t>
type ObjectPool<'p,'t>() =
let pointers: Ptr<'p,'t> list = []