Aquí podría ser tu PUBLICIDAD


Cómo utilizar el protocolo genérico en la firma del método?

votos
0

El contexto es que tengo una clase Aque tiene muchas propiedades, pero yo sólo quiero exponer algunos de ellos y uno de ellos es un tipo genérico.

entonces trato de tener un protocolo genérico (tal vez eso es un nombre equivocado?) para la A.

Parece bien, pero cuando trato de usar el protocolo en lugar de la estructura en el método, no se compilará.

¿Alguna sugerencia?

protocol AProtocol {
    associatedtype T

    var t: T? { get }
}

struct A<Type>: AProtocol {
    typealias T = Type
    var t: Type?

    var a: Int
    var b: Int
    var c: Int
    var d: Int
    var e: Int
}

struct Main {
    func show<T: Decodable>(a: AProtocol<T>) { // error: Cannot specialize non-generic type 'AProtocol'

    }
}
Publicado el 03/06/2018 a las 02:17
fuente por usuario Tony Lin

Aquí podría ser tu PUBLICIDAD





Aquí
podría
ser
tu

PUBLICIDAD