I want to try clojure-clr
This program works fine:
(import [System])
(defn -main [& args]
(Console/WriteLine "Hello, World!"))
but when I want to use Task class:
(import [System.Threading.Tasks])
(import [System])
(defn -main [& args]
(Task/Delay 1))
I got error:System.InvalidOperationException: Unable to find static field: Delay
but in this case,Task/Delay is same to Console/WriteLine
I don't know why
The first one works because System
is loaded by default.
Try import static:
user=> (import (System.Threading.Tasks Task))
user=> (Task/Delay 1)
#object[DelayPromise 0x1554b35 "System.Threading.Tasks.Task+DelayPromise"]
Or use fully qualified name
user=> (System.Threading.Tasks.Task/Delay (TimeSpan/FromSeconds 10))
#object[DelayPromise 0x223ef57 "System.Threading.Tasks.Task+DelayPromise"]