![]() |
1
26
我相信这在运行时是不可能严格做到的,因为特性在编译时被混合到新的Java类中。如果匿名地将一个trait与现有类混合,您可以看到,通过查看类文件并使用javap,scalac创建了一个匿名的、名称混乱的类:
而
如您所见,scalac创建了一个新的匿名类,该类在运行时加载;大概是这个方法
,我们可以在这里做一个相当恶作剧的把戏:
自从你 要使用Scala编译器AFAIK,这可能是最干净的解决方案。虽然速度很慢,但回忆录可能会大有帮助。
|
|
2
3
我希望能够在我的Spring应用程序上下文中构造Scala bean,但我也希望能够指定要包含在构造的bean中的mixin:
困难在于Class.forName函数不允许我指定mixin。最后,我将上述黑客解决方案扩展到Scala2.9.1。所以,在这里它是在它的充分血淋淋;包括一些弹簧。
|
![]() |
jjmerelo · 混合输入角色声明中提供的混合输入对象变量 7 年前 |
![]() |
Rahul · 在运行时替换python Mixin类 7 年前 |
![]() |
Luke De Feo · 使现有类在scala中实现特征 7 年前 |
![]() |
LorenzoBerti · 两个同名函数Vuejs的混合 7 年前 |
![]() |
davidrpugh · 在mixin中访问Akka Actor上下文 8 年前 |
![]() |
Ofisora · 如何访问聚合物元素模板内js文件中定义的函数? 8 年前 |