2010-04-23 8 views
6

Nel codice seguente:In ActionScript, c'è un modo per verificare se un argomento di input è un vettore valido di qualsiasi tipo?

var a:Vector.<int> ... 
var b:Vector.<String> ... 
var c:Vector.<uint> ... 
var c:Vector.<MyOwnClass> ... 

function verifyArrayLike(arr:*):Boolean 
{ 
    return (arr is Array || arr is Vector) 
} 

verifyArrayLike(a); 
verifyArrayLike(b); 
... 

Quello che sto cercando è qualcosa di simile a _var is Vector.<*>

Ma Vector.<*> non è un'espressione valida, anche Vettore. non può essere posizionato sul lato destro degli operatori.

C'è un modo per verificare se un argomento di input è un vettore valido di qualsiasi tipo?

risposta

4

Ecco un metodo che dovrebbe funzionare. Sono sicuro che (sicuramente?) Ci sia un modo migliore per uscire che non usa le stringhe, ma questo metodo dovrebbe calpestare te.

+0

codice molto bello! –

0

Anche questo sembra funzionare, anche se sono molto dispiaciuto di non essere in grado di utilizzare (candidato è Vector) in modo affidabile.

private function isVector(candidate : *) : Boolean 
{ 
    var result : Boolean; 
    try 
    { 
     Vector.<*>(candidate).length; 
     result = true; 
    } 
    catch (error : Error) 
    { 
     result = false; 
    } 

    return result; 
} 
Problemi correlati