array tipografico colata

voti
22

Sto cercando di utilizzare un wrapper per una libreria che vuole un array come parametro di input.

Ho provato a lanciare l'Array, ma ottengo un errore: Impossibile convertire 'qualsiasi []' a 'matrice'

C'è un modo per farlo funzionare?

var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
È pubblicato 09/10/2012 alle 05:12
fonte dall'utente
In altre lingue...                            


4 risposte

voti
33

Esistono 4 possibili metodi convertion a macchina per matrici:

let x = []; //any[]

let y1 = x as number[];
let z1 = x as Array<number>;
let y2 = <number[]>x;
let z2 = <Array<number>>x;

L' asoperatore è in gran parte progettato per *.tsxi file per evitare l'ambiguità della sintassi.

Risposto il 03/02/2016 a 16:09
fonte dall'utente

voti
6

Credo che la sintassi corretta è:

var rows2 = <Array<any>>rows;

Ecco come si esegue il cast a interface Array<T>

Risposto il 03/02/2016 a 15:10
fonte dall'utente

voti
4

Penso che questo sia solo un bug - si può registrare un problema sul sito CodePlex?

Come soluzione alternativa, è possibile scrivere <Array><any>rows;

Risposto il 09/10/2012 a 05:33
fonte dall'utente

voti
0

Una soluzione semplice per tutti i tipi

const myArray = <MyType[]>value;
Risposto il 02/01/2019 a 21:12
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more