我如何从通用扩展中 return 一个 Swift 泛型?

How can I return a Swift generic from a general extension?

如果我有一个像这样的通用 class:

class Generic<T: Any> {
    var object: T
    init(object: T) {
        self.object = object
    }
}

我可以像这样从初始化器访问对象:

Generic(object: "Hello World").object.count // 11

由于这个泛型 class 适用于 Any 类型,我如何将所有类型扩展到 return 该泛型 class 的对象?

我的意思是这样的:

extension Any {
    var generic: Generic<Self> {
        Generic(object: self)
    }
}

所以我可以打电话给:

"Hello World".generic.object.count // 11

我对所有 AnyAnyObjectSelfselfType 等感到困惑。

更新:

例如,我如何使用计算属性 array: Array<Comparable> 扩展所有 Comparable?我在想类似的东西:

extension Comparable {
    var array: Array<Comparable> {
        Array(self)
    }
}

您不能扩展 Any,请参阅

可比扩展示例:

extension Comparable {
    var array: Array<Self> {
        [self]
    }
}