我正在创建一个接受IOBJECT参数的方法。有多个类实现此接口。我需要弄清楚IOBJECT是哪种类型。我该怎么做呢
答案 0 :(得分:2)
答案 1 :(得分:1)
这不太理想,但您可以使用“是”运算符。把它扔进if if statment的开关中去解决问题。
if(obj is ClassA) {
//sweetness
} else if (obj is ClassB) {
//awesomeness
}
typeof不起作用,如其他回复中所述。它可能会在所有情况下返回“对象”。 instanceof会工作。
答案 2 :(得分:0)
您可以执行getQualifiedClassName()来获取对象的类名。您还可以使用describeType(),它可以更全面地描述对象的所有方法和属性。
这里有关于这两方面的信息: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html
虽然听起来不是理想的情况。您可能希望做一些可以标准化处理所有项目的方法。例如:
public interface IObject {
function doSomething():void;
}
则...
function myMethod(obj:IObject):void {
obj.doSomething();
}