在 C#中,我可以这样做:
class Dictionary<TKey, TVal> where TKey : IComparable, IEnumerable { }
对于泛型类或函数中的类型参数, TypeScript 1.5 beta 是否有办法实现多个接口,而无需为此创建全新的接口?
由于逗号含糊不清,显而易见的方法显然无效。
class Dictionary<TKey extends IComparable, IEnumerable, TValue> { }
顺便说一句,有趣的是,extends
可以在泛型中完美地处理接口联合:
class Dictionary<TKey extends IComparable|IEnumerable, TValue> { }
答案 0 :(得分:21)
Intersection types现在从TS 1.6开始就在这里,您可以在上面的示例中使用它:
class Dictionary<TKey extends IComparable & IEnumerable, TValue> { }
答案 1 :(得分:1)
在TS1.5中,唯一能做到这一点的方法是声明一个扩展A和B的新接口,遗憾的是。
另一种选择是为即将到来的TS1.6祈祷,其中支持intersection type。