2012-07-20 3 views

답변

5

Java와 마찬가지로 Haxe에서도 코드 내에서 type 매개 변수에 액세스 할 수 없습니다. 대부분의 구현에서 "동적"과 동일한 의미로 지워집니다. 즉,이를 구현하려면 다음과 같은 함수가 필요합니다.

public static function getWithType<T>(array:Array<Dynamic>, cl:Class<T>):Null<T> 
{ 
    for (el in array) 
    { 
     if (Std.is(el, cl)) 
      return el; 
    } 

    return null; 
} 

"Class"인수를 전달해야합니다.

using MyClass; 

(...)

c = arr.getWithType(C); 

:이처럼 사용할 수 있도록

c = MyClass.getWithType(arr, C); 

당신은 또한 '를 사용하여'문을 사용할 수 있습니다 :이처럼 사용합니다 Lambda 클래스와 비슷한 동작을 수행 할 수도 있습니다.

using Lambda; 

c = arr.filter(function(el) return Std.is(el, C)).first(); 
0

mixins에서 요소 유형을 확인하고 반환 할 고유 한 함수를 작성할 수 있습니다.

관련 문제