Swift泛型类型的约束

3

是否可能定义一个类,其通用参数都符合某个给定类型?

例如:

protocol Foo{}
class Bar : Foo {}
class Baz : Foo {}
class Qux<T, U, V where U: T, V: T> {}

let qux = Qux<Foo, Bar, Baz>()
1个回答

0
不是指类型。类型约束指定一个类型参数必须继承自一个类,或符合协议或协议组合:
class SomeClass<TypeParameter: ProtocolOrClass>

为什么不尝试这样做:

protocol Foo {}
class Bar: Foo {}
class Baz: Foo {}
class Qux<U: Foo, V: Foo> {}

let qux = Qux<Bar, Baz>()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接