假设您在需要使用的遗留库中有一个 Java 方法,该方法将 Class 作为参数:
public void takeClass(Class<? extends JavaClass> cls);
现在,假设您有一个扩展 JavaClass 的 Ceylon 类:
shared class CeylonClass() extends JavaClass() {}
现在,我怎样才能takeClass
在 Ceylon 中使用该方法以使其有效?
javaThing.takeClass( `class CeylonClass` );
// or maybe this should work?
javaThing.takeClass( javaClass<CeylonClass>() );
如上所示,我一直在尝试javaClass
模块中的功能ceylon.interop.java
但没有成功......如果我这样做javaClass<JavaClass>()
了,那么它可以工作,但这对我来说当然没用。
编辑:
使用时出现的错误javaClass<CeylonClass>()
如上图:
argument must be assignable to parameter class of takeClass:
Class<CeylonClass> is not assignable to Class<JavaClass>?