[SCALA] 밀봉 특성의 서브 클래스를 얻기
SCALA밀봉 특성의 서브 클래스를 얻기
이 가능하며 (매크로 통해 달리 자동으로 자료의 엉성한 또는 어떤 형태)는 밀봉 특성의 서브 클래스들의 목록을 얻었다 :
해결법
-
==============================
1.이 작업을 수행 할 수있는 제 3 자 라이브러리가 필요하지 않습니다 :
이 작업을 수행 할 수있는 제 3 자 라이브러리가 필요하지 않습니다 :
sealed trait MyTrait case object SubClass1 extends MyTrait case object SubClass2 extends MyTrait import scala.reflect.runtime.{universe => ru} val tpe = ru.typeOf[MyTrait] val clazz = tpe.typeSymbol.asClass // if you want to ensure the type is a sealed trait, // then you can use clazz.isSealed and clazz.isTrait clazz.knownDirectSubclasses.foreach(println)
산출:
from https://stackoverflow.com/questions/34534002/getting-subclasses-of-a-sealed-trait by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 어떻게 스칼라 mutable.Map에 immutable.Map을 변환 할 수 있습니까? (0) | 2019.11.16 |
---|---|
[SCALA] 동적 스칼라 2.11 런타임에 스칼라 클래스 파일을 컴파일 (0) | 2019.11.16 |
[SCALA] 어셈블리 병합-전략 문제 SBT-어셈블리를 사용 (0) | 2019.11.16 |
[SCALA] 왜 정적 방법은 좋은 OO 연습 간주됩니다? [닫은] (0) | 2019.11.16 |
[SCALA] 어떻게 특정 유형에 배우 메시지를 제한하려면? (0) | 2019.11.16 |