我试图弄清楚如何在一个类中隐式设置一个泛型(参数的类型)而不将整个类的类型更改为 SomeTestClass< SomeType> 之类的东西,其中对象的所有者必须知道通用的。
例子
这个例子不起作用!这就是我希望它的工作方式
protocol SomeTestProtocol {
associatedtype T
init(arg: T)
}
不想使用 SomeTestClass< T> 因为持有此类的类不知道所使用的泛型的类型
class SomeTestClass: SomeTestProtocol {
required init(arg: T) {
}
// Use T outside the init-scope
}
注意:该协议只是一个变通方法的尝试!最终解决方案没有必要
所以主要问题是:如何在不使用类泛型的情况下在下面的类中在初始化范围之外使用 T ,这在拥有对象时必须知道
class SomeTestClass2/*< T>*/ {
init(arg: T) {
}
// Use T outside the init-scope
}
谢谢你的帮助!