2017-04-06 2 views

답변

3

SomeClass.class의 경우 닫힌 모델의 경우 `SomeClass` 공개 선언의 경우 `class SomeClass`입니다.

someInstance.class의 경우 type 기능을 ceylon.language.meta에서 사용할 수 있습니다. Try it!

import ceylon.language.meta { type } 

class C() {} 
class D() extends C() {} 

shared void run() { 
    C c = D(); 
    print(type(c)); 
} 

(type이 닫힌 모델을 돌려줍니다 즉 적용 타입의 인수,... 당신이 .declaration와 함께 오픈 선언을 얻을 수 있습니다)

+3

이는'java.lang의를 반환하지 않습니다 . 클래스'. [ceylon.interop.java] (https://modules.ceylon-lang.org/repo/1/ceylon/interop/)에서'javaClass','javaClassFromDeclaration','javaClassFromModel' 또는'javaClassFromInstance'를 사용할 필요가 있습니다. java/1.3.2/module-doc/api/index.html). –

+0

예,하지만 OP는 특별히 ""Java의 _ SomeClass.class'와 동등한 것을 요구했습니다. 나는 OP가 Ceylon 메타 프로그래밍에 관심이 있다는 것을 의미한다. –

+0

그는 또한 "java.lang.Class 객체를 매개 변수로 취하는 메소드"라고 말합니다 : – Quintesse