加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash – 在ActionScript中,有没有办法检查输入参数是否是任何类

发布时间:2020-12-15 07:29:37 所属栏目:百科 来源:网络整理
导读:在以下代码中: 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 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是Vector.< *>

但是Vector.< *>不是一个有效的表达式,甚至是Vector.不能放在操作符的右侧.

有没有办法检查输入参数是否是任何类型的有效Vector?

解决方法

这是一个应该有效的方法.我相信必须(当然?)是一个更好的方法,不使用字符串,但这种方法应该让你度过难关.

/**
 * 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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读