Ich versuche, Erweiterung zu generischen Typ zu schreiben, aber aus einigen Gründen funktioniert nicht.Schnell. Wie bekomme ich einen generischen Typ von der Erweiterung?
Ich habe generic Enum:
public enum ResponseResult<Result, Error> {
case Success(result: Result)
case Failure(error: Error?)
}
Ich möchte einige Erweiterung dieses Enum und schreiben, zum Beispiel erstellen Sie eine andere generische Klasse mit Enum-generic params:
extension ResponseResult {
var response: Response<T> {
return Response(value: self.value)
}
}
T - ist ' Result
'generischer Parameter von ResponseResult
Klasse. Aber ich verstehe nicht, wie ich generische Parameter in der Erweiterung holen kann.
Es ist nicht klar, was Sie brauchen 'T' für, warum ist es da? – Pascal
@Pascal ist ein generischer Parameter für die Antwortklasse. Ich versuche, einfaches Codebeispiel zu schreiben, um nicht alle Menge des Codes zu setzen –
So wollen Sie nur den Generic-Parameter 'Result' aus der 'ResponseResult'-Enumeration in der Erweiterung verwenden? Haben Sie versucht, nur "Ergebnis" anstelle von "T" einzugeben? Die generischen Parameter aus der ursprünglichen Deklaration sollten in der Erweiterung verfügbar sein. – Hamish