2010-01-09 3 views
3

매개 변수로 (사용자 지정) 클래스의 인스턴스 2 개를 취하는 함수가 있습니다. 하지만 그들은 각각 여러 클래스 중 하나가 될 수 있으며, 나는 그들이 어떤 타입인지에 따라 다른 함수를 호출해야합니다. 나는 같은 것을 할 싶습니다해당 클래스의 인스턴스를 통해 클래스 이름 가져 오기

function any_any(inst1, inst2) { 
    this[inst1.classname + "_" + inst2.classname] (inst1, inst2); 
} 
function Circle_Line(circle:Circle, line:Line) { 
    //treat this case 
} 

내가 가서 내 각 클래스에서 '클래스 이름'을 정의하거나 인스턴스의 클래스 이름을 얻을 수있는 더 좋은 방법이해야 하는가? typeof()를 사용하여 커스텀 클래스에 'object'가 아닌 다른 것을 반환하는 방법을 모르겠다.

편집 : 각 클래스는 1 (현재) 중 하나 일 수 있으므로 instanceof 연산자를 사용하는 것은 불편할 것입니다.

답변

0

을 사용할 수 있습니다 당신은 당신을

var c:Class = instance["constructor"]; 

를 사용하는 인스턴스의 클래스를 얻기 위해 instanceof

var a:Number; 

    if (a instanceof Number) 
    { 
     trace("a is a number"); 
    } 
-1

다른 방법을 사용할 수 있습니다 다음과 같이 할 수 있습니다.

switch(c) 
{ 
    case Circle: 
     whatever(); 
} 
+0

Circle with Object를 Object로 대체하면 원하는 방식으로 작업 할 수 있습니다. –

관련 문제