拡張機能を追加したいジェネリック型がありますが、コンパイラはジェネリックが宣言されていないことについて文句を言っています。
これが私がやろうとしていることです:
public class MyGenericType<T> {
let abc = 123
}
extension MyGenericType<T> { // Error: Use of undeclared type 'T'
public convenience init(value: String, defaultValue: T) {
self.init()
print(value)
}
}
に拡張子を追加することは可能MyGenericType<T>
ですか?
ただしてください:
extension MyGenericType {
public convenience init(value: String, defaultValue: T) {
self.init()
print(value)
}
}
ドキュメントから:
ジェネリック型を拡張する場合、拡張の定義の一部として型パラメーターリストを提供しません。代わりに、元の型定義の型パラメーターリストが拡張機能の本体内で使用可能であり、元の型パラメーター名は、元の定義の型パラメーターを参照するために使用されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加