如何调用GetCurrentDirectory方法在Clojure CLR?



我只是尝试一下Clojure CLR,我被如何使看起来好像它应该是一个非常简单的调用工作难住了。

版本为Clojure 1.10.0-master-SNAPSHOT

在REPL中我这样做:

(import 'System.IO.FileSystem)
(FileSystem/Directory/GetCurrentDirectory)

我得到以下响应:

Syntax error (InvalidOperationException) compiling at (REPL:1:2).
Unable to find static field: GetCurrentDirectory in

所有我能找到的"无法找到静态字段:"似乎表明我把程序集名称搞错了,但似乎不是这样。

我也试过这个:

(. FileSystem/Directory GetCurrentDirectory)

得到

Syntax error (InvalidOperationException) compiling at (REPL:1:2).
Unable to find static field: Directory in System.IO.FileSystem

也试过这个:

(FileSystem/Directory/GetCurrentDirectory [])

我得到这个错误:

Syntax error (InvalidOperationException) compiling at (REPL:1:2).
Unable to find static field: GetCurrentDirectory in
谁能告诉我,我在这里错了什么?

在Core 3.1和Net 5.0下,System.IO.FileSystem不包含GetCurrenDirectoryDirectory。(您可以通过评估((map #(.Name %) (concat (.GetMethods System.IO.FileSystem) (.GetProperties System.IO.FileSystem))来快速检查这一点,以查看可用的内容。)

有一个System.IO.Directory类和一个GetCurrentDirectory方法。试着

(System.IO.Directory/GetCurrentDirectory)

或者如果你想导入类

(import 'System.IO.Directory)
(Directory/GetCurrentDirectory)

最新更新