Generics self.dynamicType不适用于Swift中的泛型类型?

Generics self.dynamicType不适用于Swift中的泛型类型?,generics,inheritance,swift,Generics,Inheritance,Swift,我试图在Swift中使用泛型类型,但我发现它不能很好地处理继承和重写。下面是一个代码示例: class A { class var test: String{ return getName() } class func getName() -> String { return "I'm class A" } func doSomething() -> Void { printl

我试图在Swift中使用泛型类型,但我发现它不能很好地处理继承和重写。下面是一个代码示例:

class A {
    class var test: String{
        return getName()
    }
    class func getName() -> String {
        return "I'm class A"
    }
    func doSomething() -> Void {
        println(self.dynamicType.test)
    }
}
class B : A {
    override class func getName() -> String {
        return "I'm class B"
    }
}
class C<T: A> {
    func doSomething() -> Void {
        var x = T()
        x.doSomething()
    }
}
var c = C<B>()
c.doSomething()//This line prints out "I'm class A"
A类{
类var测试:字符串{
返回getName()
}
类func getName()->String{
返回“我是A级”
}
func doSomething()->Void{
println(self.dynamicType.test)
}
}
B类:A{
重写类func getName()->String{
返回“我是B级”
}
}
C类{
func doSomething()->Void{
var x=T()
x、 doSomething()
}
}
var c=c()
c、 doSomething()//这行打印出“我是A级”
看起来甚至在创建类C的实例时,我也将该类型指定为类B,使用泛型类型T创建的新实例仍然在类型类A中。

这里有一个类似的问题:

http://stackoverflow.com/questions/27899744/wrong-generic-type-in-swift 但还没有答案/解决方案,这是Swift的错误吗?

你的复制品可能是正确的Rintaro,我使用了那篇文章中列出的变通方法,效果很好。