Gépelt casting tömbök

szavazat
22

Próbálom használni a wrapper egy könyvtár, amely azt akarja, egy tömbben, mint egy bemeneti paramétere.

Próbáltam casting a Array, de kapok egy hiba: Nem lehet átalakítani „minden []” a „Array”

Van egy módja annak, hogy ezt a munkát?

var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
A kérdést 09/10/2012 05:12
a forrás felhasználó
Más nyelveken...                            


4 válasz

szavazat
33

Vannak 4 lehetséges convertion módszerek géppel a tömbök:

let x = []; //any[]

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

Az asüzemeltető többnyire tervezett *.tsxfájlokat, hogy elkerüljék a szintaxis kétértelműséget.

Válaszolt 03/02/2016 16:09
a forrás felhasználó

szavazat
6

Azt hiszem, a helyes szintaxis:

var rows2 = <Array<any>>rows;

Ez hogyan leadott interface Array<T>

Válaszolt 03/02/2016 15:10
a forrás felhasználó

szavazat
4

Azt hiszem, ez csak egy bug - tud bejelentkezni probléma a CodePlex oldalon?

A megoldás, akkor írj <Array><any>rows;

Válaszolt 09/10/2012 05:33
a forrás felhasználó

szavazat
0

Egy egyszerű megoldás minden típusú

const myArray = <MyType[]>value;
Válaszolt 02/01/2019 21:12
a forrás felhasználó

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