首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Clojure/ClojureCLR中的Java/C#子类调用非虚拟保护方法

从Clojure/ClojureCLR中的Java/C#子类调用非虚拟保护方法
EN

Stack Overflow用户
提问于 2013-03-08 17:32:04
回答 1查看 150关注 0票数 1

当使用gen-class在Clojure中创建一个子类时,您可以通过exposes-method公开受保护的虚(非最终)方法,但是它是通过覆盖实现的,这不适用于非虚(最终)方法。

这是通过反射调用受保护方法的唯一方法吗?

reify或proxy能比gen-class做得更好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-15 23:38:49

这被证明是clojure-clr中的一个bug。它在JVM版本中可能工作得很好。Clojure允许调用非虚拟/最终方法,如果它们是受保护的/公共的。然而,我试图调用的方法是protected internal,这实际上意味着protected或internal。clojure-clr错误地将其解释为受保护的和内部的,内部意味着只能在同一程序集中访问。由于这个原因,我的方法调用失败了。

在最新版本的clojure-clr中已修复此问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15290726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档