语法:多个通用约束和继承,接口

时间:2018-10-17 17:32:15

标签: generics inheritance kotlin interface type-bounds

在Kotlin中指定多个通用范围/约束的正确语法是什么?

class CustomClass<T> where T: Constraint1, T: Constraint2,
    ParentClass<T>(), Interface1 { /* ... */ }

此处Constraint1Constraint2T上无关的约束/界限(例如:T实现的不相交的接口),而ParentClass是通用的(基数)类。 Interface1是接口CustomClass将满足

1 个答案:

答案 0 :(得分:2)

您需要在where子句之前指定基类和接口:

class CustomClass<T>
    : ParentClass<T>(), Interface1
        where T : Constraint1, T : Constraint2 {
    /* ... */
}