【问题标题】:Use nested type as type parameter for generic subclass使用嵌套类型作为泛型子类的类型参数
【发布时间】:2021-07-07 19:06:34
【问题描述】:

以下使用泛型是否“允许”/在 swift 中没有问题?我的意思是,它可以编译,但是在某些情况下这会导致问题吗?在定义类时使用类中的某些东西感觉很奇怪。

class MyGeneric<A> {}

class MyClass: MyGeneric<MyClass.NestedType> {
    enum NestedType {}
}

这个问题可能有点愚蠢,答案很可能是“它可以编译,所以是的”,但这样写感觉很奇怪。但如果它很好,那也很好。使代码更有条理和简洁。

【问题讨论】:

    标签: swift generics


    【解决方案1】:

    没关系。

    MyClass.NestedType 没有对MyClassMyGenericA 有任何特殊附件。这只是一个命名的事情。

    对比一下,Java,其中非static 内部类由它们的包含类泛型类型参数化。例如。 Foo&lt;A&gt;.NestedFoo&lt;B&gt;.Nested 是不同的类。

    【讨论】:

      猜你喜欢
      • 2019-03-10
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      相关资源
      最近更新 更多