为什么clojure clr可以使用Console/WriteLine,但可以';不要使用任务/延迟
我想试试clojure clr 该程序运行良好:为什么clojure clr可以使用Console/WriteLine,但可以';不要使用任务/延迟,clojure,clojureclr,Clojure,Clojureclr,我想试试clojure clr 该程序运行良好: (import [System]) (defn -main [& args] (Console/WriteLine "Hello, World!")) 但当我想使用Task类时: (import [System.Threading.Tasks]) (import [System]) (defn -main [& args] (Task/Delay 1)) 我收到错误:System.InvalidOperationExce
(import [System])
(defn -main [& args]
(Console/WriteLine "Hello, World!"))
但当我想使用Task类时:
(import [System.Threading.Tasks])
(import [System])
(defn -main [& args]
(Task/Delay 1))
我收到错误:System.InvalidOperationException:找不到静态字段:延迟
但在这种情况下,任务/延迟与Console/WriteLine相同
我不知道为什么第一个可以工作,因为默认情况下系统是加载的 尝试导入静态:
user=> (import (System.Threading.Tasks Task))
user=> (Task/Delay 1)
#object[DelayPromise 0x1554b35 "System.Threading.Tasks.Task+DelayPromise"]
或者使用完全限定名
user=> (System.Threading.Tasks.Task/Delay (TimeSpan/FromSeconds 10))
#object[DelayPromise 0x223ef57 "System.Threading.Tasks.Task+DelayPromise"]
第一个可以工作,因为默认情况下加载了
System
尝试导入静态:
user=> (import (System.Threading.Tasks Task))
user=> (Task/Delay 1)
#object[DelayPromise 0x1554b35 "System.Threading.Tasks.Task+DelayPromise"]
或者使用完全限定名
user=> (System.Threading.Tasks.Task/Delay (TimeSpan/FromSeconds 10))
#object[DelayPromise 0x223ef57 "System.Threading.Tasks.Task+DelayPromise"]
Task/Delay
接受两个参数:。这可能是问题的原因吗?Task/Delay只能接受一个int arg,我已经在我的c#程序中尝试过了Task/Delay
接受两个参数:。这可能是问题的原因吗?Task/Delay只能接受int arg,我已经在我的c#程序中试用过了