是否可以定义一个通用参数都符合某个给定类型的类?
例如
protocol Foo{}
class Bar : Foo {}
class Baz : Foo {}
class Qux<T, U, V where U: T, V: T> {}
let qux = Qux<Foo, Bar, Baz>()
答案 0 :(得分:0)
没有。不是一种类型。 类型约束指定类型参数必须从类继承,或符合协议或协议组合:
class SomeClass<TypeParameter: ProtocolOrClass>
你为什么不这样做:
protocol Foo {}
class Bar: Foo {}
class Baz: Foo {}
class Qux<U: Foo, V: Foo> {}
let qux = Qux<Bar, Baz>()