В ActionScript, там способ проверить, является ли входной параметр допустимым Вектором какого-либо типа?

В следующем коде:

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);
...

То, что я ищу, является чем-то как _var is Vector.<*>

Но Vector.<*> не допустимое выражение, даже Вектор. не может быть помещен в правую сторону операторов.

Существует ли способ проверить, является ли входной параметр допустимым Вектором какого-либо типа?

6
задан teleme.io 23 April 2010 в 10:02
поделиться

1 ответ

Вот метод, который должен работать. Я уверен, что должен ( наверняка ?) Быть лучший выход, который не использует строки, но этот метод должен вас подбодрить.

/**
 * Finds out if an object is a generic Vector.
 * It works because the value returned for getQualifiedClassName(a vector) 
 * is "__AS3__.vec::Vector.<the vector's type>".
 * @param object Object Any object.
 * @return Boolean True if the object is a generic Vector, false otherwise.
 */
function isVector(object:Object):Boolean 
{
    var class_name:String = getQualifiedClassName(object);
    return class_name.indexOf("__AS3__.vec::Vector.") === 0;
}
4
ответ дан 17 December 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: