我想延长一个Array
哪里的Element
是泛型类型的嵌套类:
class GenericType<T: ExpressibleByInt> {
class NestedClass {
}
}
extension Array where Element == GenericType.NestedClass { // Fails: Reference to generic type 'GenericType' requires arguments in <...>.
...
}
是否有一种语法用于表达泛型的扩展,其中泛型的元素是另一个泛型的嵌套类?
没有办法在扩展级别表达这一点。您必须在方法/下标/初始化器级别执行此操作。 (不幸的是,你的房产运气不佳。)
extension Array {
func ƒ<T>() where Element == GenericType<T>.NestedClass { }
subscript<T>(_: T.Type = T.self) -> Void
where Element == GenericType<T>.NestedClass {
get { }
}
init?<T>() where Element == GenericType<T>.NestedClass {
nil
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)